diff --git a/CHANGELOG.md b/CHANGELOG.md index 56058b98bf8..2e144deaa36 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,21 @@ +Release v1.44.63 (2022-07-26) +=== + +### Service Client Updates +* `service/appsync`: Updates service API and documentation +* `service/detective`: Updates service API, documentation, and paginators +* `service/guardduty`: Updates service API, documentation, and paginators + * Amazon GuardDuty introduces a new Malware Protection feature that triggers malware scan on selected EC2 instance resources, after the service detects a potentially malicious activity. +* `service/lookoutvision`: Updates service API and documentation +* `service/macie2`: Updates service API, documentation, and waiters +* `service/rds`: Updates service API, documentation, waiters, paginators, and examples + * Adds support for using RDS Proxies with RDS for MariaDB databases. +* `service/rekognition`: Updates service API and documentation + * This release introduces support for the automatic scaling of inference units used by Amazon Rekognition Custom Labels models. +* `service/securityhub`: Updates service documentation +* `service/transfer`: Updates service API, documentation, and paginators + * AWS Transfer Family now supports Applicability Statement 2 (AS2), a network protocol used for the secure and reliable transfer of critical Business-to-Business (B2B) data over the public internet using HTTP/HTTPS as the transport mechanism. + Release v1.44.62 (2022-07-25) === diff --git a/aws/version.go b/aws/version.go index 2422f101a22..45e7b41dc28 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.62" +const SDKVersion = "1.44.63" diff --git a/models/apis/appsync/2017-07-25/api-2.json b/models/apis/appsync/2017-07-25/api-2.json index 874bcfffd06..24b7726b46e 100644 --- a/models/apis/appsync/2017-07-25/api-2.json +++ b/models/apis/appsync/2017-07-25/api-2.json @@ -298,6 +298,20 @@ {"shape":"NotFoundException"} ] }, + "EvaluateMappingTemplate":{ + "name":"EvaluateMappingTemplate", + "http":{ + "method":"POST", + "requestUri":"/v1/dataplane-evaluatetemplate" + }, + "input":{"shape":"EvaluateMappingTemplateRequest"}, + "output":{"shape":"EvaluateMappingTemplateResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ] + }, "FlushApiCache":{ "name":"FlushApiCache", "http":{ @@ -968,6 +982,7 @@ "BooleanValue":{"type":"boolean"}, "CachingConfig":{ "type":"structure", + "required":["ttl"], "members":{ "ttl":{"shape":"Long"}, "cachingKeys":{"shape":"CachingKeys"} @@ -1019,6 +1034,12 @@ "NONE" ] }, + "Context":{ + "type":"string", + "max":28000, + "min":2, + "pattern":"^[\\s\\S]*$" + }, "CreateApiCacheRequest":{ "type":"structure", "required":[ @@ -1514,7 +1535,37 @@ "awsRegion":{"shape":"String"} } }, + "ErrorDetail":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + } + }, "ErrorMessage":{"type":"string"}, + "EvaluateMappingTemplateRequest":{ + "type":"structure", + "required":[ + "template", + "context" + ], + "members":{ + "template":{"shape":"Template"}, + "context":{"shape":"Context"} + } + }, + "EvaluateMappingTemplateResponse":{ + "type":"structure", + "members":{ + "evaluationResult":{"shape":"EvaluationResult"}, + "error":{"shape":"ErrorDetail"} + } + }, + "EvaluationResult":{ + "type":"string", + "max":65536, + "min":0, + "pattern":"^[\\s\\S]*$" + }, "FieldLogLevel":{ "type":"string", "enum":[ @@ -2352,6 +2403,12 @@ "max":256, "pattern":"^[\\s\\w+-=\\.:/@]*$" }, + "Template":{ + "type":"string", + "max":65536, + "min":2, + "pattern":"^[\\s\\S]*$" + }, "Type":{ "type":"structure", "members":{ diff --git a/models/apis/appsync/2017-07-25/docs-2.json b/models/apis/appsync/2017-07-25/docs-2.json index 48a90ffa054..2a5a8a8e015 100644 --- a/models/apis/appsync/2017-07-25/docs-2.json +++ b/models/apis/appsync/2017-07-25/docs-2.json @@ -20,6 +20,7 @@ "DeleteResolver": "

Deletes a Resolver object.

", "DeleteType": "

Deletes a Type object.

", "DisassociateApi": "

Removes an ApiAssociation object from a custom domain.

", + "EvaluateMappingTemplate": "

Evaluates a given template and returns the response. The mapping template can be a request or response template.

Request templates take the incoming request after a GraphQL operation is parsed and convert it into a request configuration for the selected data source operation. Response templates interpret responses from the data source and map it to the shape of the GraphQL field output type.

Mapping templates are written in the Apache Velocity Template Language (VTL).

", "FlushApiCache": "

Flushes an ApiCache object.

", "GetApiAssociation": "

Retrieves an ApiAssociation object.

", "GetApiCache": "

Retrieves an ApiCache object.

", @@ -258,6 +259,12 @@ "SyncConfig$conflictHandler": "

The Conflict Resolution strategy to perform in the event of a conflict.

" } }, + "Context": { + "base": null, + "refs": { + "EvaluateMappingTemplateRequest$context": "

The map that holds all of the contextual information for your resolver invocation. A context is required for this action.

" + } + }, "CreateApiCacheRequest": { "base": "

Represents the input of a CreateApiCache operation.

", "refs": { @@ -516,14 +523,37 @@ "UpdateDataSourceRequest$elasticsearchConfig": "

The new OpenSearch configuration.

As of September 2021, Amazon Elasticsearch service is Amazon OpenSearch Service. This configuration is deprecated. Instead, use UpdateDataSourceRequest$openSearchServiceConfig to update an OpenSearch data source.

" } }, + "ErrorDetail": { + "base": "

Contains the list of errors generated when attempting to evaluate a mapping template.

", + "refs": { + "EvaluateMappingTemplateResponse$error": "

The ErrorDetail object.

" + } + }, "ErrorMessage": { "base": null, "refs": { "BadRequestException$message": null, "ConcurrentModificationException$message": null, + "ErrorDetail$message": "

The error payload.

", "GraphQLSchemaException$message": null } }, + "EvaluateMappingTemplateRequest": { + "base": null, + "refs": { + } + }, + "EvaluateMappingTemplateResponse": { + "base": null, + "refs": { + } + }, + "EvaluationResult": { + "base": null, + "refs": { + "EvaluateMappingTemplateResponse$evaluationResult": "

The mapping template; this can be a request or response template.

" + } + }, "FieldLogLevel": { "base": null, "refs": { @@ -1064,7 +1094,7 @@ "CachingKeys$member": null, "CognitoUserPoolConfig$userPoolId": "

The user pool ID.

", "CognitoUserPoolConfig$awsRegion": "

The Amazon Web Services Region in which the user pool was created.

", - "CognitoUserPoolConfig$appIdClientRegex": "

A regular expression for validating the incoming Amazon Cognito user pool app client ID.

", + "CognitoUserPoolConfig$appIdClientRegex": "

A regular expression for validating the incoming Amazon Cognito user pool app client ID. If this value isn't set, no filtering is applied.

", "CreateApiCacheRequest$apiId": "

The GraphQL API ID.

", "CreateApiKeyRequest$apiId": "

The ID for your GraphQL API.

", "CreateApiKeyRequest$description": "

A description of the purpose of the API key.

", @@ -1165,7 +1195,7 @@ "UpdateTypeRequest$definition": "

The new definition.

", "UserPoolConfig$userPoolId": "

The user pool ID.

", "UserPoolConfig$awsRegion": "

The Amazon Web Services Region in which the user pool was created.

", - "UserPoolConfig$appIdClientRegex": "

A regular expression for validating the incoming Amazon Cognito user pool app client ID.

" + "UserPoolConfig$appIdClientRegex": "

A regular expression for validating the incoming Amazon Cognito user pool app client ID. If this value isn't set, no filtering is applied.

" } }, "SyncConfig": { @@ -1223,6 +1253,12 @@ "TagMap$value": null } }, + "Template": { + "base": null, + "refs": { + "EvaluateMappingTemplateRequest$template": "

The mapping template; this can be a request or response template. A template is required for this action.

" + } + }, "Type": { "base": "

Describes a type.

", "refs": { diff --git a/models/apis/detective/2018-10-26/api-2.json b/models/apis/detective/2018-10-26/api-2.json index 763bc7fedf4..89efa70431c 100644 --- a/models/apis/detective/2018-10-26/api-2.json +++ b/models/apis/detective/2018-10-26/api-2.json @@ -26,6 +26,34 @@ {"shape":"ValidationException"} ] }, + "BatchGetGraphMemberDatasources":{ + "name":"BatchGetGraphMemberDatasources", + "http":{ + "method":"POST", + "requestUri":"/graph/datasources/get" + }, + "input":{"shape":"BatchGetGraphMemberDatasourcesRequest"}, + "output":{"shape":"BatchGetGraphMemberDatasourcesResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ] + }, + "BatchGetMembershipDatasources":{ + "name":"BatchGetMembershipDatasources", + "http":{ + "method":"POST", + "requestUri":"/membership/datasources/get" + }, + "input":{"shape":"BatchGetMembershipDatasourcesRequest"}, + "output":{"shape":"BatchGetMembershipDatasourcesResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ] + }, "CreateGraph":{ "name":"CreateGraph", "http":{ @@ -150,6 +178,20 @@ {"shape":"ValidationException"} ] }, + "ListDatasourcePackages":{ + "name":"ListDatasourcePackages", + "http":{ + "method":"POST", + "requestUri":"/graph/datasources/list" + }, + "input":{"shape":"ListDatasourcePackagesRequest"}, + "output":{"shape":"ListDatasourcePackagesResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ] + }, "ListGraphs":{ "name":"ListGraphs", "http":{ @@ -278,6 +320,20 @@ {"shape":"ResourceNotFoundException"} ] }, + "UpdateDatasourcePackages":{ + "name":"UpdateDatasourcePackages", + "http":{ + "method":"POST", + "requestUri":"/graph/datasources/update" + }, + "input":{"shape":"UpdateDatasourcePackagesRequest"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ValidationException"} + ] + }, "UpdateOrganizationConfiguration":{ "name":"UpdateOrganizationConfiguration", "http":{ @@ -317,6 +373,12 @@ "min":12, "pattern":"^[0-9]+$" }, + "AccountIdExtendedList":{ + "type":"list", + "member":{"shape":"AccountId"}, + "max":200, + "min":1 + }, "AccountIdList":{ "type":"list", "member":{"shape":"AccountId"}, @@ -341,6 +403,38 @@ "type":"list", "member":{"shape":"Administrator"} }, + "BatchGetGraphMemberDatasourcesRequest":{ + "type":"structure", + "required":[ + "GraphArn", + "AccountIds" + ], + "members":{ + "GraphArn":{"shape":"GraphArn"}, + "AccountIds":{"shape":"AccountIdExtendedList"} + } + }, + "BatchGetGraphMemberDatasourcesResponse":{ + "type":"structure", + "members":{ + "MemberDatasources":{"shape":"MembershipDatasourcesList"}, + "UnprocessedAccounts":{"shape":"UnprocessedAccountList"} + } + }, + "BatchGetMembershipDatasourcesRequest":{ + "type":"structure", + "required":["GraphArns"], + "members":{ + "GraphArns":{"shape":"GraphArnList"} + } + }, + "BatchGetMembershipDatasourcesResponse":{ + "type":"structure", + "members":{ + "MembershipDatasources":{"shape":"MembershipDatasourcesList"}, + "UnprocessedGraphs":{"shape":"UnprocessedGraphList"} + } + }, "Boolean":{"type":"boolean"}, "ByteValue":{"type":"long"}, "ConflictException":{ @@ -383,6 +477,56 @@ "UnprocessedAccounts":{"shape":"UnprocessedAccountList"} } }, + "DatasourcePackage":{ + "type":"string", + "enum":[ + "DETECTIVE_CORE", + "EKS_AUDIT" + ] + }, + "DatasourcePackageIngestDetail":{ + "type":"structure", + "members":{ + "DatasourcePackageIngestState":{"shape":"DatasourcePackageIngestState"}, + "LastIngestStateChange":{"shape":"LastIngestStateChangeDates"} + } + }, + "DatasourcePackageIngestDetails":{ + "type":"map", + "key":{"shape":"DatasourcePackage"}, + "value":{"shape":"DatasourcePackageIngestDetail"} + }, + "DatasourcePackageIngestHistory":{ + "type":"map", + "key":{"shape":"DatasourcePackage"}, + "value":{"shape":"LastIngestStateChangeDates"} + }, + "DatasourcePackageIngestState":{ + "type":"string", + "enum":[ + "STARTED", + "STOPPED", + "DISABLED" + ] + }, + "DatasourcePackageIngestStates":{ + "type":"map", + "key":{"shape":"DatasourcePackage"}, + "value":{"shape":"DatasourcePackageIngestState"} + }, + "DatasourcePackageList":{ + "type":"list", + "member":{"shape":"DatasourcePackage"}, + "max":25, + "min":1 + }, + "DatasourcePackageUsageInfo":{ + "type":"structure", + "members":{ + "VolumeUsageInBytes":{"shape":"ByteValue"}, + "VolumeUsageUpdateTime":{"shape":"Timestamp"} + } + }, "DeleteGraphRequest":{ "type":"structure", "required":["GraphArn"], @@ -446,6 +590,15 @@ "AccountId":{"shape":"AccountId"} } }, + "ErrorCode":{ + "type":"string", + "enum":[ + "INVALID_GRAPH_ARN", + "INVALID_REQUEST_BODY", + "INTERNAL_ERROR" + ] + }, + "ErrorCodeReason":{"type":"string"}, "ErrorMessage":{"type":"string"}, "GetMembersRequest":{ "type":"structure", @@ -476,6 +629,12 @@ "type":"string", "pattern":"^arn:aws[-\\w]{0,10}?:detective:[-\\w]{2,20}?:\\d{12}?:graph:[abcdef\\d]{32}?$" }, + "GraphArnList":{ + "type":"list", + "member":{"shape":"GraphArn"}, + "max":50, + "min":1 + }, "GraphList":{ "type":"list", "member":{"shape":"Graph"} @@ -495,6 +654,27 @@ "ORGANIZATION" ] }, + "LastIngestStateChangeDates":{ + "type":"map", + "key":{"shape":"DatasourcePackageIngestState"}, + "value":{"shape":"TimestampForCollection"} + }, + "ListDatasourcePackagesRequest":{ + "type":"structure", + "required":["GraphArn"], + "members":{ + "GraphArn":{"shape":"GraphArn"}, + "NextToken":{"shape":"PaginationToken"}, + "MaxResults":{"shape":"MemberResultsLimit"} + } + }, + "ListDatasourcePackagesResponse":{ + "type":"structure", + "members":{ + "DatasourcePackages":{"shape":"DatasourcePackageIngestDetails"}, + "NextToken":{"shape":"PaginationToken"} + } + }, "ListGraphsRequest":{ "type":"structure", "members":{ @@ -586,19 +766,29 @@ "DisabledReason":{"shape":"MemberDisabledReason"}, "InvitedTime":{"shape":"Timestamp"}, "UpdatedTime":{"shape":"Timestamp"}, - "VolumeUsageInBytes":{"shape":"ByteValue"}, - "VolumeUsageUpdatedTime":{"shape":"Timestamp"}, + "VolumeUsageInBytes":{ + "shape":"ByteValue", + "deprecated":true, + "deprecatedMessage":"This property is deprecated. Use VolumeUsageByDatasourcePackage instead." + }, + "VolumeUsageUpdatedTime":{ + "shape":"Timestamp", + "deprecated":true, + "deprecatedMessage":"This property is deprecated. Use VolumeUsageByDatasourcePackage instead." + }, "PercentOfGraphUtilization":{ "shape":"Percentage", "deprecated":true, - "deprecatedMessage":"This property is deprecated. Use VolumeUsageInBytes instead." + "deprecatedMessage":"This property is deprecated. Use VolumeUsageByDatasourcePackage instead." }, "PercentOfGraphUtilizationUpdatedTime":{ "shape":"Timestamp", "deprecated":true, - "deprecatedMessage":"This property is deprecated. Use VolumeUsageUpdatedTime instead." + "deprecatedMessage":"This property is deprecated. Use VolumeUsageByDatasourcePackage instead." }, - "InvitationType":{"shape":"InvitationType"} + "InvitationType":{"shape":"InvitationType"}, + "VolumeUsageByDatasourcePackage":{"shape":"VolumeUsageByDatasourcePackage"}, + "DatasourcePackageIngestStates":{"shape":"DatasourcePackageIngestStates"} } }, "MemberDetailList":{ @@ -628,6 +818,18 @@ "ACCEPTED_BUT_DISABLED" ] }, + "MembershipDatasources":{ + "type":"structure", + "members":{ + "AccountId":{"shape":"AccountId"}, + "GraphArn":{"shape":"GraphArn"}, + "DatasourcePackageIngestHistory":{"shape":"DatasourcePackageIngestHistory"} + } + }, + "MembershipDatasourcesList":{ + "type":"list", + "member":{"shape":"MembershipDatasources"} + }, "PaginationToken":{ "type":"string", "max":1024, @@ -641,6 +843,17 @@ "GraphArn":{"shape":"GraphArn"} } }, + "Resource":{ + "type":"string", + "max":64, + "min":1 + }, + "ResourceList":{ + "type":"list", + "member":{"shape":"Resource"}, + "max":50, + "min":1 + }, "ResourceNotFoundException":{ "type":"structure", "members":{ @@ -652,7 +865,8 @@ "ServiceQuotaExceededException":{ "type":"structure", "members":{ - "Message":{"shape":"ErrorMessage"} + "Message":{"shape":"ErrorMessage"}, + "Resources":{"shape":"ResourceList"} }, "error":{"httpStatusCode":402}, "exception":true @@ -715,6 +929,12 @@ "type":"timestamp", "timestampFormat":"iso8601" }, + "TimestampForCollection":{ + "type":"structure", + "members":{ + "Timestamp":{"shape":"Timestamp"} + } + }, "TooManyRequestsException":{ "type":"structure", "members":{ @@ -734,6 +954,17 @@ "type":"list", "member":{"shape":"UnprocessedAccount"} }, + "UnprocessedGraph":{ + "type":"structure", + "members":{ + "GraphArn":{"shape":"GraphArn"}, + "Reason":{"shape":"UnprocessedReason"} + } + }, + "UnprocessedGraphList":{ + "type":"list", + "member":{"shape":"UnprocessedGraph"} + }, "UnprocessedReason":{"type":"string"}, "UntagResourceRequest":{ "type":"structure", @@ -759,6 +990,17 @@ "members":{ } }, + "UpdateDatasourcePackagesRequest":{ + "type":"structure", + "required":[ + "GraphArn", + "DatasourcePackages" + ], + "members":{ + "GraphArn":{"shape":"GraphArn"}, + "DatasourcePackages":{"shape":"DatasourcePackageList"} + } + }, "UpdateOrganizationConfigurationRequest":{ "type":"structure", "required":["GraphArn"], @@ -770,10 +1012,17 @@ "ValidationException":{ "type":"structure", "members":{ - "Message":{"shape":"ErrorMessage"} + "Message":{"shape":"ErrorMessage"}, + "ErrorCode":{"shape":"ErrorCode"}, + "ErrorCodeReason":{"shape":"ErrorCodeReason"} }, "error":{"httpStatusCode":400}, "exception":true + }, + "VolumeUsageByDatasourcePackage":{ + "type":"map", + "key":{"shape":"DatasourcePackage"}, + "value":{"shape":"DatasourcePackageUsageInfo"} } } } diff --git a/models/apis/detective/2018-10-26/docs-2.json b/models/apis/detective/2018-10-26/docs-2.json index fa7ca31b8bb..26c0ca66359 100644 --- a/models/apis/detective/2018-10-26/docs-2.json +++ b/models/apis/detective/2018-10-26/docs-2.json @@ -1,17 +1,20 @@ { "version": "2.0", - "service": "

Detective uses machine learning and purpose-built visualizations to help you to analyze and investigate security issues across your Amazon Web Services (Amazon Web Services) workloads. Detective automatically extracts time-based events such as login attempts, API calls, and network traffic from CloudTrail and Amazon Virtual Private Cloud (Amazon VPC) flow logs. It also extracts findings detected by Amazon GuardDuty.

The Detective API primarily supports the creation and management of behavior graphs. A behavior graph contains the extracted data from a set of member accounts, and is created and managed by an administrator account.

To add a member account to the behavior graph, the administrator account sends an invitation to the account. When the account accepts the invitation, it becomes a member account in the behavior graph.

Detective is also integrated with Organizations. The organization management account designates the Detective administrator account for the organization. That account becomes the administrator account for the organization behavior graph. The Detective administrator account can enable any organization account as a member account in the organization behavior graph. The organization accounts do not receive invitations. The Detective administrator account can also invite other accounts to the organization behavior graph.

Every behavior graph is specific to a Region. You can only use the API to manage behavior graphs that belong to the Region that is associated with the currently selected endpoint.

The administrator account for a behavior graph can use the Detective API to do the following:

The organization management account can use the Detective API to select the delegated administrator for Detective.

The Detective administrator account for an organization can use the Detective API to do the following:

An invited member account can use the Detective API to do the following:

All API actions are logged as CloudTrail events. See Logging Detective API Calls with CloudTrail.

We replaced the term \"master account\" with the term \"administrator account.\" An administrator account is used to centrally manage multiple accounts. In the case of Detective, the administrator account manages the accounts in their behavior graph.

", + "service": "

Detective uses machine learning and purpose-built visualizations to help you to analyze and investigate security issues across your Amazon Web Services (Amazon Web Services) workloads. Detective automatically extracts time-based events such as login attempts, API calls, and network traffic from CloudTrail and Amazon Virtual Private Cloud (Amazon VPC) flow logs. It also extracts findings detected by Amazon GuardDuty.

The Detective API primarily supports the creation and management of behavior graphs. A behavior graph contains the extracted data from a set of member accounts, and is created and managed by an administrator account.

To add a member account to the behavior graph, the administrator account sends an invitation to the account. When the account accepts the invitation, it becomes a member account in the behavior graph.

Detective is also integrated with Organizations. The organization management account designates the Detective administrator account for the organization. That account becomes the administrator account for the organization behavior graph. The Detective administrator account is also the delegated administrator account for Detective in Organizations.

The Detective administrator account can enable any organization account as a member account in the organization behavior graph. The organization accounts do not receive invitations. The Detective administrator account can also invite other accounts to the organization behavior graph.

Every behavior graph is specific to a Region. You can only use the API to manage behavior graphs that belong to the Region that is associated with the currently selected endpoint.

The administrator account for a behavior graph can use the Detective API to do the following:

The organization management account can use the Detective API to select the delegated administrator for Detective.

The Detective administrator account for an organization can use the Detective API to do the following:

An invited member account can use the Detective API to do the following:

All API actions are logged as CloudTrail events. See Logging Detective API Calls with CloudTrail.

We replaced the term \"master account\" with the term \"administrator account.\" An administrator account is used to centrally manage multiple accounts. In the case of Detective, the administrator account manages the accounts in their behavior graph.

", "operations": { "AcceptInvitation": "

Accepts an invitation for the member account to contribute data to a behavior graph. This operation can only be called by an invited member account.

The request provides the ARN of behavior graph.

The member account status in the graph must be INVITED.

", + "BatchGetGraphMemberDatasources": "

Gets data source package information for the behavior graph.

", + "BatchGetMembershipDatasources": "

Gets information on the data source package history for an account.

", "CreateGraph": "

Creates a new behavior graph for the calling account, and sets that account as the administrator account. This operation is called by the account that is enabling Detective.

Before you try to enable Detective, make sure that your account has been enrolled in Amazon GuardDuty for at least 48 hours. If you do not meet this requirement, you cannot enable Detective. If you do meet the GuardDuty prerequisite, then when you make the request to enable Detective, it checks whether your data volume is within the Detective quota. If it exceeds the quota, then you cannot enable Detective.

The operation also enables Detective for the calling account in the currently selected Region. It returns the ARN of the new behavior graph.

CreateGraph triggers a process to create the corresponding data tables for the new behavior graph.

An account can only be the administrator account for one behavior graph within a Region. If the same account calls CreateGraph with the same administrator account, it always returns the same behavior graph ARN. It does not create a new behavior graph.

", "CreateMembers": "

CreateMembers is used to send invitations to accounts. For the organization behavior graph, the Detective administrator account uses CreateMembers to enable organization accounts as member accounts.

For invited accounts, CreateMembers sends a request to invite the specified Amazon Web Services accounts to be member accounts in the behavior graph. This operation can only be called by the administrator account for a behavior graph.

CreateMembers verifies the accounts and then invites the verified accounts. The administrator can optionally specify to not send invitation emails to the member accounts. This would be used when the administrator manages their member accounts centrally.

For organization accounts in the organization behavior graph, CreateMembers attempts to enable the accounts. The organization accounts do not receive invitations.

The request provides the behavior graph ARN and the list of accounts to invite or to enable.

The response separates the requested accounts into two lists:

", "DeleteGraph": "

Disables the specified behavior graph and queues it to be deleted. This operation removes the behavior graph from each member account's list of behavior graphs.

DeleteGraph can only be called by the administrator account for a behavior graph.

", "DeleteMembers": "

Removes the specified member accounts from the behavior graph. The removed accounts no longer contribute data to the behavior graph. This operation can only be called by the administrator account for the behavior graph.

For invited accounts, the removed accounts are deleted from the list of accounts in the behavior graph. To restore the account, the administrator account must send another invitation.

For organization accounts in the organization behavior graph, the Detective administrator account can always enable the organization account again. Organization accounts that are not enabled as member accounts are not included in the ListMembers results for the organization behavior graph.

An administrator account cannot use DeleteMembers to remove their own account from the behavior graph. To disable a behavior graph, the administrator account uses the DeleteGraph API method.

", "DescribeOrganizationConfiguration": "

Returns information about the configuration for the organization behavior graph. Currently indicates whether to automatically enable new organization accounts as member accounts.

Can only be called by the Detective administrator account for the organization.

", - "DisableOrganizationAdminAccount": "

Removes the Detective administrator account for the organization in the current Region. Deletes the behavior graph for that account.

Can only be called by the organization management account. Before you can select a different Detective administrator account, you must remove the Detective administrator account in all Regions.

", + "DisableOrganizationAdminAccount": "

Removes the Detective administrator account in the current Region. Deletes the organization behavior graph.

Can only be called by the organization management account.

Removing the Detective administrator account does not affect the delegated administrator account for Detective in Organizations.

To remove the delegated administrator account in Organizations, use the Organizations API. Removing the delegated administrator account also removes the Detective administrator account in all Regions, except for Regions where the Detective administrator account is the organization management account.

", "DisassociateMembership": "

Removes the member account from the specified behavior graph. This operation can only be called by an invited member account that has the ENABLED status.

DisassociateMembership cannot be called by an organization account in the organization behavior graph. For the organization behavior graph, the Detective administrator account determines which organization accounts to enable or disable as member accounts.

", - "EnableOrganizationAdminAccount": "

Designates the Detective administrator account for the organization in the current Region.

If the account does not have Detective enabled, then enables Detective for that account and creates a new behavior graph.

Can only be called by the organization management account.

The Detective administrator account for an organization must be the same in all Regions. If you already designated a Detective administrator account in another Region, then you must designate the same account.

", + "EnableOrganizationAdminAccount": "

Designates the Detective administrator account for the organization in the current Region.

If the account does not have Detective enabled, then enables Detective for that account and creates a new behavior graph.

Can only be called by the organization management account.

If the organization has a delegated administrator account in Organizations, then the Detective administrator account must be either the delegated administrator account or the organization management account.

If the organization does not have a delegated administrator account in Organizations, then you can choose any account in the organization. If you choose an account other than the organization management account, Detective calls Organizations to make that account the delegated administrator account for Detective. The organization management account cannot be the delegated administrator account.

", "GetMembers": "

Returns the membership details for specified member accounts for a behavior graph.

", + "ListDatasourcePackages": "

Lists data source packages in the behavior graph.

", "ListGraphs": "

Returns the list of behavior graphs that the calling account is an administrator account of. This operation can only be called by an administrator account.

Because an account can currently only be the administrator of one behavior graph within a Region, the results always contain a single behavior graph.

", "ListInvitations": "

Retrieves the list of open and accepted behavior graph invitations for the member account. This operation can only be called by an invited member account.

Open invitations are invitations that the member account has not responded to.

The results do not include behavior graphs for which the member account declined the invitation. The results also do not include behavior graphs that the member account resigned from or was removed from.

", "ListMembers": "

Retrieves the list of member accounts for a behavior graph.

For invited accounts, the results do not include member accounts that were removed from the behavior graph.

For the organization behavior graph, the results do not include organization accounts that the Detective administrator account has not enabled as member accounts.

", @@ -21,6 +24,7 @@ "StartMonitoringMember": "

Sends a request to enable data ingest for a member account that has a status of ACCEPTED_BUT_DISABLED.

For valid member accounts, the status is updated as follows.

", "TagResource": "

Applies tag values to a behavior graph.

", "UntagResource": "

Removes tags from a behavior graph.

", + "UpdateDatasourcePackages": "

Starts a data source packages for the behavior graph.

", "UpdateOrganizationConfiguration": "

Updates the configuration for the Organizations integration in the current Region. Can only be called by the Detective administrator account for the organization.

" }, "shapes": { @@ -39,16 +43,24 @@ "base": null, "refs": { "Account$AccountId": "

The account identifier of the Amazon Web Services account.

", + "AccountIdExtendedList$member": null, "AccountIdList$member": null, "Administrator$AccountId": "

The Amazon Web Services account identifier of the Detective administrator account for the organization.

", "EnableOrganizationAdminAccountRequest$AccountId": "

The Amazon Web Services account identifier of the account to designate as the Detective administrator account for the organization.

", "MemberDetail$AccountId": "

The Amazon Web Services account identifier for the member account.

", "MemberDetail$MasterId": "

The Amazon Web Services account identifier of the administrator account for the behavior graph.

", "MemberDetail$AdministratorId": "

The Amazon Web Services account identifier of the administrator account for the behavior graph.

", + "MembershipDatasources$AccountId": "

The account identifier of the Amazon Web Services account.

", "StartMonitoringMemberRequest$AccountId": "

The account ID of the member account to try to enable.

The account must be an invited member account with a status of ACCEPTED_BUT_DISABLED.

", "UnprocessedAccount$AccountId": "

The Amazon Web Services account identifier of the member account that was not processed.

" } }, + "AccountIdExtendedList": { + "base": null, + "refs": { + "BatchGetGraphMemberDatasourcesRequest$AccountIds": "

The list of Amazon Web Services accounts to get data source package information on.

" + } + }, "AccountIdList": { "base": null, "refs": { @@ -72,7 +84,27 @@ "AdministratorList": { "base": null, "refs": { - "ListOrganizationAdminAccountsResponse$Administrators": "

The list of delegated administrator accounts.

" + "ListOrganizationAdminAccountsResponse$Administrators": "

The list of Detective administrator accounts.

" + } + }, + "BatchGetGraphMemberDatasourcesRequest": { + "base": null, + "refs": { + } + }, + "BatchGetGraphMemberDatasourcesResponse": { + "base": null, + "refs": { + } + }, + "BatchGetMembershipDatasourcesRequest": { + "base": null, + "refs": { + } + }, + "BatchGetMembershipDatasourcesResponse": { + "base": null, + "refs": { } }, "Boolean": { @@ -86,6 +118,7 @@ "ByteValue": { "base": null, "refs": { + "DatasourcePackageUsageInfo$VolumeUsageInBytes": "

Total volume of data in bytes per day ingested for a given data source package.

", "MemberDetail$VolumeUsageInBytes": "

The data volume in bytes per day for the member account.

" } }, @@ -114,6 +147,60 @@ "refs": { } }, + "DatasourcePackage": { + "base": null, + "refs": { + "DatasourcePackageIngestDetails$key": null, + "DatasourcePackageIngestHistory$key": null, + "DatasourcePackageIngestStates$key": null, + "DatasourcePackageList$member": null, + "VolumeUsageByDatasourcePackage$key": null + } + }, + "DatasourcePackageIngestDetail": { + "base": "

Details about the data source packages ingested by your behavior graph.

", + "refs": { + "DatasourcePackageIngestDetails$value": null + } + }, + "DatasourcePackageIngestDetails": { + "base": null, + "refs": { + "ListDatasourcePackagesResponse$DatasourcePackages": "

Details on the data source packages active in the behavior graph.

" + } + }, + "DatasourcePackageIngestHistory": { + "base": null, + "refs": { + "MembershipDatasources$DatasourcePackageIngestHistory": "

Details on when a data source package was added to a behavior graph.

" + } + }, + "DatasourcePackageIngestState": { + "base": null, + "refs": { + "DatasourcePackageIngestDetail$DatasourcePackageIngestState": "

Details on which data source packages are ingested for a member account.

", + "DatasourcePackageIngestStates$value": null, + "LastIngestStateChangeDates$key": null + } + }, + "DatasourcePackageIngestStates": { + "base": null, + "refs": { + "MemberDetail$DatasourcePackageIngestStates": "

The state of a data source package for the behavior graph.

" + } + }, + "DatasourcePackageList": { + "base": null, + "refs": { + "UpdateDatasourcePackagesRequest$DatasourcePackages": "

The data source package start for the behavior graph.

" + } + }, + "DatasourcePackageUsageInfo": { + "base": "

Information on the usage of a data source package in the behavior graph.

", + "refs": { + "VolumeUsageByDatasourcePackage$value": null + } + }, "DeleteGraphRequest": { "base": null, "refs": { @@ -162,6 +249,18 @@ "refs": { } }, + "ErrorCode": { + "base": null, + "refs": { + "ValidationException$ErrorCode": "

The error code associated with the validation failure.

" + } + }, + "ErrorCodeReason": { + "base": null, + "refs": { + "ValidationException$ErrorCodeReason": "

An explanation of why validation failed.

" + } + }, "ErrorMessage": { "base": null, "refs": { @@ -194,6 +293,7 @@ "refs": { "AcceptInvitationRequest$GraphArn": "

The ARN of the behavior graph that the member account is accepting the invitation for.

The member account status in the behavior graph must be INVITED.

", "Administrator$GraphArn": "

The ARN of the organization behavior graph.

", + "BatchGetGraphMemberDatasourcesRequest$GraphArn": "

The ARN of the behavior graph.

", "CreateGraphResponse$GraphArn": "

The ARN of the new behavior graph.

", "CreateMembersRequest$GraphArn": "

The ARN of the behavior graph.

", "DeleteGraphRequest$GraphArn": "

The ARN of the behavior graph to disable.

", @@ -202,16 +302,27 @@ "DisassociateMembershipRequest$GraphArn": "

The ARN of the behavior graph to remove the member account from.

The member account's member status in the behavior graph must be ENABLED.

", "GetMembersRequest$GraphArn": "

The ARN of the behavior graph for which to request the member details.

", "Graph$Arn": "

The ARN of the behavior graph.

", + "GraphArnList$member": null, + "ListDatasourcePackagesRequest$GraphArn": "

The ARN of the behavior graph.

", "ListMembersRequest$GraphArn": "

The ARN of the behavior graph for which to retrieve the list of member accounts.

", "ListTagsForResourceRequest$ResourceArn": "

The ARN of the behavior graph for which to retrieve the tag values.

", "MemberDetail$GraphArn": "

The ARN of the behavior graph.

", + "MembershipDatasources$GraphArn": "

The ARN of the organization behavior graph.

", "RejectInvitationRequest$GraphArn": "

The ARN of the behavior graph to reject the invitation to.

The member account's current member status in the behavior graph must be INVITED.

", "StartMonitoringMemberRequest$GraphArn": "

The ARN of the behavior graph.

", "TagResourceRequest$ResourceArn": "

The ARN of the behavior graph to assign the tags to.

", + "UnprocessedGraph$GraphArn": "

The ARN of the organization behavior graph.

", "UntagResourceRequest$ResourceArn": "

The ARN of the behavior graph to remove the tags from.

", + "UpdateDatasourcePackagesRequest$GraphArn": "

The ARN of the behavior graph.

", "UpdateOrganizationConfigurationRequest$GraphArn": "

The ARN of the organization behavior graph.

" } }, + "GraphArnList": { + "base": null, + "refs": { + "BatchGetMembershipDatasourcesRequest$GraphArns": "

The ARN of the behavior graph.

" + } + }, "GraphList": { "base": null, "refs": { @@ -229,6 +340,23 @@ "MemberDetail$InvitationType": "

The type of behavior graph membership.

For an organization account in the organization behavior graph, the type is ORGANIZATION.

For an account that was invited to a behavior graph, the type is INVITATION.

" } }, + "LastIngestStateChangeDates": { + "base": null, + "refs": { + "DatasourcePackageIngestDetail$LastIngestStateChange": "

The date a data source package was enabled for this account

", + "DatasourcePackageIngestHistory$value": null + } + }, + "ListDatasourcePackagesRequest": { + "base": null, + "refs": { + } + }, + "ListDatasourcePackagesResponse": { + "base": null, + "refs": { + } + }, "ListGraphsRequest": { "base": null, "refs": { @@ -303,6 +431,7 @@ "MemberResultsLimit": { "base": null, "refs": { + "ListDatasourcePackagesRequest$MaxResults": "

The maximum number of results to return.

", "ListGraphsRequest$MaxResults": "

The maximum number of graphs to return at a time. The total must be less than the overall limit on the number of results to return, which is currently 200.

", "ListInvitationsRequest$MaxResults": "

The maximum number of behavior graph invitations to return in the response. The total must be less than the overall limit on the number of results to return, which is currently 200.

", "ListMembersRequest$MaxResults": "

The maximum number of member accounts to include in the response. The total must be less than the overall limit on the number of results to return, which is currently 200.

", @@ -315,9 +444,24 @@ "MemberDetail$Status": "

The current membership status of the member account. The status can have one of the following values:

Invited accounts that declined an invitation or that were removed from the behavior graph are not included. In the organization behavior graph, organization accounts that the Detective administrator account did not enable are not included.

" } }, + "MembershipDatasources": { + "base": "

Details on data source packages for members of the behavior graph.

", + "refs": { + "MembershipDatasourcesList$member": null + } + }, + "MembershipDatasourcesList": { + "base": null, + "refs": { + "BatchGetGraphMemberDatasourcesResponse$MemberDatasources": "

Details on the status of data source packages for members of the behavior graph.

", + "BatchGetMembershipDatasourcesResponse$MembershipDatasources": "

Details on the data source package history for an member of the behavior graph.

" + } + }, "PaginationToken": { "base": null, "refs": { + "ListDatasourcePackagesRequest$NextToken": "

For requests to get the next page of results, the pagination token that was returned with the previous set of results. The initial request does not include a pagination token.

", + "ListDatasourcePackagesResponse$NextToken": "

For requests to get the next page of results, the pagination token that was returned with the previous set of results. The initial request does not include a pagination token.

", "ListGraphsRequest$NextToken": "

For requests to get the next page of results, the pagination token that was returned with the previous set of results. The initial request does not include a pagination token.

", "ListGraphsResponse$NextToken": "

If there are more behavior graphs remaining in the results, then this is the pagination token to use to request the next page of behavior graphs.

", "ListInvitationsRequest$NextToken": "

For requests to retrieve the next page of results, the pagination token that was returned with the previous page of results. The initial request does not include a pagination token.

", @@ -339,6 +483,18 @@ "refs": { } }, + "Resource": { + "base": null, + "refs": { + "ResourceList$member": null + } + }, + "ResourceList": { + "base": null, + "refs": { + "ServiceQuotaExceededException$Resources": "

The type of resource that has exceeded the service quota.

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

The request refers to a nonexistent resource.

", "refs": { @@ -395,11 +551,19 @@ "base": null, "refs": { "Administrator$DelegationTime": "

The date and time when the Detective administrator account was enabled. The value is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.

", + "DatasourcePackageUsageInfo$VolumeUsageUpdateTime": "

The data and time when the member account data volume was last updated. The value is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.

", "Graph$CreatedTime": "

The date and time that the behavior graph was created. The value is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.

", "MemberDetail$InvitedTime": "

For invited accounts, the date and time that Detective sent the invitation to the account. The value is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.

", "MemberDetail$UpdatedTime": "

The date and time that the member account was last updated. The value is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.

", "MemberDetail$VolumeUsageUpdatedTime": "

The data and time when the member account data volume was last updated. The value is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.

", - "MemberDetail$PercentOfGraphUtilizationUpdatedTime": "

The date and time when the graph utilization percentage was last updated. The value is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.

" + "MemberDetail$PercentOfGraphUtilizationUpdatedTime": "

The date and time when the graph utilization percentage was last updated. The value is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.

", + "TimestampForCollection$Timestamp": "

The data and time when data collection began for a source package. The value is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.

" + } + }, + "TimestampForCollection": { + "base": "

Details on when data collection began for a source package.

", + "refs": { + "LastIngestStateChangeDates$value": null } }, "TooManyRequestsException": { @@ -416,15 +580,29 @@ "UnprocessedAccountList": { "base": null, "refs": { + "BatchGetGraphMemberDatasourcesResponse$UnprocessedAccounts": "

Accounts that data source package information could not be retrieved for.

", "CreateMembersResponse$UnprocessedAccounts": "

The list of accounts for which Detective was unable to process the invitation or enablement request. For each account, the list provides the reason why the request could not be processed. The list includes accounts that are already member accounts in the behavior graph.

", "DeleteMembersResponse$UnprocessedAccounts": "

The list of member accounts that Detective was not able to remove from the behavior graph. For each member account, provides the reason that the deletion could not be processed.

", "GetMembersResponse$UnprocessedAccounts": "

The requested member accounts for which Detective was unable to return member details.

For each account, provides the reason why the request could not be processed.

" } }, + "UnprocessedGraph": { + "base": "

Behavior graphs that could not be processed in the request.

", + "refs": { + "UnprocessedGraphList$member": null + } + }, + "UnprocessedGraphList": { + "base": null, + "refs": { + "BatchGetMembershipDatasourcesResponse$UnprocessedGraphs": "

Graphs that data source package information could not be retrieved for.

" + } + }, "UnprocessedReason": { "base": null, "refs": { - "UnprocessedAccount$Reason": "

The reason that the member account request could not be processed.

" + "UnprocessedAccount$Reason": "

The reason that the member account request could not be processed.

", + "UnprocessedGraph$Reason": "

The reason data source package information could not be processed for a behavior graph.

" } }, "UntagResourceRequest": { @@ -437,6 +615,11 @@ "refs": { } }, + "UpdateDatasourcePackagesRequest": { + "base": null, + "refs": { + } + }, "UpdateOrganizationConfigurationRequest": { "base": null, "refs": { @@ -446,6 +629,12 @@ "base": "

The request parameters are invalid.

", "refs": { } + }, + "VolumeUsageByDatasourcePackage": { + "base": null, + "refs": { + "MemberDetail$VolumeUsageByDatasourcePackage": "

Details on the volume of usage for each data source package in a behavior graph.

" + } } } } diff --git a/models/apis/detective/2018-10-26/paginators-1.json b/models/apis/detective/2018-10-26/paginators-1.json index e0b0d353989..1ff6ce32578 100644 --- a/models/apis/detective/2018-10-26/paginators-1.json +++ b/models/apis/detective/2018-10-26/paginators-1.json @@ -1,5 +1,10 @@ { "pagination": { + "ListDatasourcePackages": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, "ListGraphs": { "input_token": "NextToken", "output_token": "NextToken", diff --git a/models/apis/guardduty/2017-11-28/api-2.json b/models/apis/guardduty/2017-11-28/api-2.json index 215a7e685c1..3cc966d5e26 100644 --- a/models/apis/guardduty/2017-11-28/api-2.json +++ b/models/apis/guardduty/2017-11-28/api-2.json @@ -266,6 +266,20 @@ {"shape":"InternalServerErrorException"} ] }, + "DescribeMalwareScans":{ + "name":"DescribeMalwareScans", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/malware-scans", + "responseCode":200 + }, + "input":{"shape":"DescribeMalwareScansRequest"}, + "output":{"shape":"DescribeMalwareScansResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ] + }, "DescribeOrganizationConfiguration":{ "name":"DescribeOrganizationConfiguration", "http":{ @@ -464,6 +478,20 @@ {"shape":"InternalServerErrorException"} ] }, + "GetMalwareScanSettings":{ + "name":"GetMalwareScanSettings", + "http":{ + "method":"GET", + "requestUri":"/detector/{detectorId}/malware-scan-settings", + "responseCode":200 + }, + "input":{"shape":"GetMalwareScanSettingsRequest"}, + "output":{"shape":"GetMalwareScanSettingsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ] + }, "GetMasterAccount":{ "name":"GetMasterAccount", "http":{ @@ -830,6 +858,20 @@ {"shape":"InternalServerErrorException"} ] }, + "UpdateMalwareScanSettings":{ + "name":"UpdateMalwareScanSettings", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/malware-scan-settings", + "responseCode":200 + }, + "input":{"shape":"UpdateMalwareScanSettingsRequest"}, + "output":{"shape":"UpdateMalwareScanSettingsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ] + }, "UpdateMemberDetectors":{ "name":"UpdateMemberDetectors", "http":{ @@ -1679,6 +1721,17 @@ "key":{"shape":"String"}, "value":{"shape":"Condition"} }, + "CriterionKey":{ + "type":"string", + "enum":[ + "EC2_INSTANCE_ARN", + "SCAN_ID", + "ACCOUNT_ID", + "GUARDDUTY_FINDING_ID", + "SCAN_START_TIME", + "SCAN_STATUS" + ] + }, "DNSLogsConfigurationResult":{ "type":"structure", "required":["Status"], @@ -1696,7 +1749,8 @@ "CLOUD_TRAIL", "DNS_LOGS", "S3_LOGS", - "KUBERNETES_AUDIT_LOGS" + "KUBERNETES_AUDIT_LOGS", + "EC2_MALWARE_SCAN" ] }, "DataSourceConfigurations":{ @@ -1709,6 +1763,10 @@ "Kubernetes":{ "shape":"KubernetesConfiguration", "locationName":"kubernetes" + }, + "MalwareProtection":{ + "shape":"MalwareProtectionConfiguration", + "locationName":"malwareProtection" } } }, @@ -1740,6 +1798,10 @@ "Kubernetes":{ "shape":"KubernetesConfigurationResult", "locationName":"kubernetes" + }, + "MalwareProtection":{ + "shape":"MalwareProtectionConfigurationResult", + "locationName":"malwareProtection" } } }, @@ -1787,6 +1849,10 @@ "Kubernetes":{ "shape":"KubernetesDataSourceFreeTrial", "locationName":"kubernetes" + }, + "MalwareProtection":{ + "shape":"MalwareProtectionDataSourceFreeTrial", + "locationName":"malwareProtection" } } }, @@ -1983,6 +2049,47 @@ "members":{ } }, + "DescribeMalwareScansRequest":{ + "type":"structure", + "required":["DetectorId"], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "location":"uri", + "locationName":"detectorId" + }, + "NextToken":{ + "shape":"String", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"IntegerValueWithMax", + "locationName":"maxResults" + }, + "FilterCriteria":{ + "shape":"FilterCriteria", + "locationName":"filterCriteria" + }, + "SortCriteria":{ + "shape":"SortCriteria", + "locationName":"sortCriteria" + } + } + }, + "DescribeMalwareScansResponse":{ + "type":"structure", + "required":["Scans"], + "members":{ + "Scans":{ + "shape":"Scans", + "locationName":"scans" + }, + "NextToken":{ + "shape":"String", + "locationName":"nextToken" + } + } + }, "DescribeOrganizationConfigurationRequest":{ "type":"structure", "required":["DetectorId"], @@ -2237,6 +2344,146 @@ } }, "Double":{"type":"double"}, + "EbsSnapshotPreservation":{ + "type":"string", + "enum":[ + "NO_RETENTION", + "RETENTION_WITH_FINDING" + ] + }, + "EbsVolumeDetails":{ + "type":"structure", + "members":{ + "ScannedVolumeDetails":{ + "shape":"VolumeDetails", + "locationName":"scannedVolumeDetails" + }, + "SkippedVolumeDetails":{ + "shape":"VolumeDetails", + "locationName":"skippedVolumeDetails" + } + } + }, + "EbsVolumeScanDetails":{ + "type":"structure", + "members":{ + "ScanId":{ + "shape":"String", + "locationName":"scanId" + }, + "ScanStartedAt":{ + "shape":"Timestamp", + "locationName":"scanStartedAt" + }, + "ScanCompletedAt":{ + "shape":"Timestamp", + "locationName":"scanCompletedAt" + }, + "TriggerFindingId":{ + "shape":"String", + "locationName":"triggerFindingId" + }, + "Sources":{ + "shape":"Sources", + "locationName":"sources" + }, + "ScanDetections":{ + "shape":"ScanDetections", + "locationName":"scanDetections" + } + } + }, + "EbsVolumesResult":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"DataSourceStatus", + "locationName":"status" + } + } + }, + "EcsClusterDetails":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "locationName":"name" + }, + "Arn":{ + "shape":"String", + "locationName":"arn" + }, + "Status":{ + "shape":"String", + "locationName":"status" + }, + "ActiveServicesCount":{ + "shape":"Integer", + "locationName":"activeServicesCount" + }, + "RegisteredContainerInstancesCount":{ + "shape":"Integer", + "locationName":"registeredContainerInstancesCount" + }, + "RunningTasksCount":{ + "shape":"Integer", + "locationName":"runningTasksCount" + }, + "Tags":{ + "shape":"Tags", + "locationName":"tags" + }, + "TaskDetails":{ + "shape":"EcsTaskDetails", + "locationName":"taskDetails" + } + } + }, + "EcsTaskDetails":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"String", + "locationName":"arn" + }, + "DefinitionArn":{ + "shape":"String", + "locationName":"definitionArn" + }, + "Version":{ + "shape":"String", + "locationName":"version" + }, + "TaskCreatedAt":{ + "shape":"Timestamp", + "locationName":"createdAt" + }, + "StartedAt":{ + "shape":"Timestamp", + "locationName":"startedAt" + }, + "StartedBy":{ + "shape":"String", + "locationName":"startedBy" + }, + "Tags":{ + "shape":"Tags", + "locationName":"tags" + }, + "Volumes":{ + "shape":"Volumes", + "locationName":"volumes" + }, + "Containers":{ + "shape":"Containers", + "locationName":"containers" + }, + "Group":{ + "shape":"String", + "locationName":"group" + } + } + }, "EksClusterDetails":{ "type":"structure", "members":{ @@ -2310,6 +2557,10 @@ "NOT_USEFUL" ] }, + "FilePaths":{ + "type":"list", + "member":{"shape":"ScanFilePath"} + }, "FilterAction":{ "type":"string", "enum":[ @@ -2319,6 +2570,51 @@ "max":300, "min":1 }, + "FilterCondition":{ + "type":"structure", + "members":{ + "EqualsValue":{ + "shape":"NonEmptyString", + "locationName":"equalsValue" + }, + "GreaterThan":{ + "shape":"LongValue", + "locationName":"greaterThan" + }, + "LessThan":{ + "shape":"LongValue", + "locationName":"lessThan" + } + } + }, + "FilterCriteria":{ + "type":"structure", + "members":{ + "FilterCriterion":{ + "shape":"FilterCriterionList", + "locationName":"filterCriterion" + } + } + }, + "FilterCriterion":{ + "type":"structure", + "members":{ + "CriterionKey":{ + "shape":"CriterionKey", + "locationName":"criterionKey" + }, + "FilterCondition":{ + "shape":"FilterCondition", + "locationName":"filterCondition" + } + } + }, + "FilterCriterionList":{ + "type":"list", + "member":{"shape":"FilterCriterion"}, + "max":1, + "min":0 + }, "FilterDescription":{ "type":"string", "max":512, @@ -2754,6 +3050,30 @@ } } }, + "GetMalwareScanSettingsRequest":{ + "type":"structure", + "required":["DetectorId"], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "location":"uri", + "locationName":"detectorId" + } + } + }, + "GetMalwareScanSettingsResponse":{ + "type":"structure", + "members":{ + "ScanResourceCriteria":{ + "shape":"ScanResourceCriteria", + "locationName":"scanResourceCriteria" + }, + "EbsSnapshotPreservation":{ + "shape":"EbsSnapshotPreservation", + "locationName":"ebsSnapshotPreservation" + } + } + }, "GetMasterAccountRequest":{ "type":"structure", "required":["DetectorId"], @@ -2983,6 +3303,23 @@ "type":"string", "pattern":"^arn:[A-Za-z_.-]{1,20}:guardduty:[A-Za-z0-9_/.-]{0,63}:\\d+:detector/[A-Za-z0-9_/.-]{32,264}$" }, + "HighestSeverityThreatDetails":{ + "type":"structure", + "members":{ + "Severity":{ + "shape":"String", + "locationName":"severity" + }, + "ThreatName":{ + "shape":"String", + "locationName":"threatName" + }, + "Count":{ + "shape":"Integer", + "locationName":"count" + } + } + }, "HostPath":{ "type":"structure", "members":{ @@ -3005,6 +3342,10 @@ } } }, + "InstanceArn":{ + "type":"string", + "pattern":"^arn:(aws|aws-cn|aws-us-gov):[a-z]+:[a-z]+(-[0-9]+|-[a-z]+)+:([0-9]{12}):[a-z\\-]+\\/[a-zA-Z0-9]*$" + }, "InstanceDetails":{ "type":"structure", "members":{ @@ -3063,6 +3404,11 @@ } }, "Integer":{"type":"integer"}, + "IntegerValueWithMax":{ + "type":"integer", + "max":50, + "min":1 + }, "InternalServerErrorException":{ "type":"structure", "members":{ @@ -3676,6 +4022,42 @@ "min":1 }, "Long":{"type":"long"}, + "LongValue":{"type":"long"}, + "MalwareProtectionConfiguration":{ + "type":"structure", + "members":{ + "ScanEc2InstanceWithFindings":{ + "shape":"ScanEc2InstanceWithFindings", + "locationName":"scanEc2InstanceWithFindings" + } + } + }, + "MalwareProtectionConfigurationResult":{ + "type":"structure", + "members":{ + "ScanEc2InstanceWithFindings":{ + "shape":"ScanEc2InstanceWithFindingsResult", + "locationName":"scanEc2InstanceWithFindings" + }, + "ServiceRole":{ + "shape":"String", + "locationName":"serviceRole" + } + } + }, + "MalwareProtectionDataSourceFreeTrial":{ + "type":"structure", + "members":{ + "ScanEc2InstanceWithFindings":{ + "shape":"DataSourceFreeTrial", + "locationName":"scanEc2InstanceWithFindings" + } + } + }, + "MapEquals":{ + "type":"list", + "member":{"shape":"ScanConditionPair"} + }, "Master":{ "type":"structure", "members":{ @@ -3866,6 +4248,11 @@ "type":"list", "member":{"shape":"NetworkInterface"} }, + "NonEmptyString":{ + "type":"string", + "max":200, + "min":1 + }, "NotEquals":{ "type":"list", "member":{"shape":"String"} @@ -3908,6 +4295,10 @@ "Kubernetes":{ "shape":"OrganizationKubernetesConfiguration", "locationName":"kubernetes" + }, + "MalwareProtection":{ + "shape":"OrganizationMalwareProtectionConfiguration", + "locationName":"malwareProtection" } } }, @@ -3922,6 +4313,28 @@ "Kubernetes":{ "shape":"OrganizationKubernetesConfigurationResult", "locationName":"kubernetes" + }, + "MalwareProtection":{ + "shape":"OrganizationMalwareProtectionConfigurationResult", + "locationName":"malwareProtection" + } + } + }, + "OrganizationEbsVolumes":{ + "type":"structure", + "members":{ + "AutoEnable":{ + "shape":"Boolean", + "locationName":"autoEnable" + } + } + }, + "OrganizationEbsVolumesResult":{ + "type":"structure", + "members":{ + "AutoEnable":{ + "shape":"Boolean", + "locationName":"autoEnable" } } }, @@ -3965,6 +4378,24 @@ } } }, + "OrganizationMalwareProtectionConfiguration":{ + "type":"structure", + "members":{ + "ScanEc2InstanceWithFindings":{ + "shape":"OrganizationScanEc2InstanceWithFindings", + "locationName":"scanEc2InstanceWithFindings" + } + } + }, + "OrganizationMalwareProtectionConfigurationResult":{ + "type":"structure", + "members":{ + "ScanEc2InstanceWithFindings":{ + "shape":"OrganizationScanEc2InstanceWithFindingsResult", + "locationName":"scanEc2InstanceWithFindings" + } + } + }, "OrganizationS3LogsConfiguration":{ "type":"structure", "required":["AutoEnable"], @@ -3985,6 +4416,24 @@ } } }, + "OrganizationScanEc2InstanceWithFindings":{ + "type":"structure", + "members":{ + "EbsVolumes":{ + "shape":"OrganizationEbsVolumes", + "locationName":"ebsVolumes" + } + } + }, + "OrganizationScanEc2InstanceWithFindingsResult":{ + "type":"structure", + "members":{ + "EbsVolumes":{ + "shape":"OrganizationEbsVolumesResult", + "locationName":"ebsVolumes" + } + } + }, "Owner":{ "type":"structure", "members":{ @@ -4041,6 +4490,10 @@ "type":"list", "member":{"shape":"PortProbeDetail"} }, + "PositiveLong":{ + "type":"long", + "min":0 + }, "PrivateIpAddressDetails":{ "type":"structure", "members":{ @@ -4176,6 +4629,27 @@ "ResourceType":{ "shape":"String", "locationName":"resourceType" + }, + "EbsVolumeDetails":{ + "shape":"EbsVolumeDetails", + "locationName":"ebsVolumeDetails" + }, + "EcsClusterDetails":{ + "shape":"EcsClusterDetails", + "locationName":"ecsClusterDetails" + }, + "ContainerDetails":{ + "shape":"Container", + "locationName":"containerDetails" + } + } + }, + "ResourceDetails":{ + "type":"structure", + "members":{ + "InstanceArn":{ + "shape":"InstanceArn", + "locationName":"instanceArn" } } }, @@ -4244,6 +4718,243 @@ } } }, + "Scan":{ + "type":"structure", + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "locationName":"detectorId" + }, + "AdminDetectorId":{ + "shape":"DetectorId", + "locationName":"adminDetectorId" + }, + "ScanId":{ + "shape":"NonEmptyString", + "locationName":"scanId" + }, + "ScanStatus":{ + "shape":"ScanStatus", + "locationName":"scanStatus" + }, + "FailureReason":{ + "shape":"NonEmptyString", + "locationName":"failureReason" + }, + "ScanStartTime":{ + "shape":"Timestamp", + "locationName":"scanStartTime" + }, + "ScanEndTime":{ + "shape":"Timestamp", + "locationName":"scanEndTime" + }, + "TriggerDetails":{ + "shape":"TriggerDetails", + "locationName":"triggerDetails" + }, + "ResourceDetails":{ + "shape":"ResourceDetails", + "locationName":"resourceDetails" + }, + "ScanResultDetails":{ + "shape":"ScanResultDetails", + "locationName":"scanResultDetails" + }, + "AccountId":{ + "shape":"AccountId", + "locationName":"accountId" + }, + "TotalBytes":{ + "shape":"PositiveLong", + "locationName":"totalBytes" + }, + "FileCount":{ + "shape":"PositiveLong", + "locationName":"fileCount" + }, + "AttachedVolumes":{ + "shape":"VolumeDetails", + "locationName":"attachedVolumes" + } + } + }, + "ScanCondition":{ + "type":"structure", + "required":["MapEquals"], + "members":{ + "MapEquals":{ + "shape":"MapEquals", + "locationName":"mapEquals" + } + } + }, + "ScanConditionPair":{ + "type":"structure", + "required":["Key"], + "members":{ + "Key":{ + "shape":"TagKey", + "locationName":"key" + }, + "Value":{ + "shape":"TagValue", + "locationName":"value" + } + } + }, + "ScanCriterion":{ + "type":"map", + "key":{"shape":"ScanCriterionKey"}, + "value":{"shape":"ScanCondition"} + }, + "ScanCriterionKey":{ + "type":"string", + "enum":["EC2_INSTANCE_TAG"] + }, + "ScanDetections":{ + "type":"structure", + "members":{ + "ScannedItemCount":{ + "shape":"ScannedItemCount", + "locationName":"scannedItemCount" + }, + "ThreatsDetectedItemCount":{ + "shape":"ThreatsDetectedItemCount", + "locationName":"threatsDetectedItemCount" + }, + "HighestSeverityThreatDetails":{ + "shape":"HighestSeverityThreatDetails", + "locationName":"highestSeverityThreatDetails" + }, + "ThreatDetectedByName":{ + "shape":"ThreatDetectedByName", + "locationName":"threatDetectedByName" + } + } + }, + "ScanEc2InstanceWithFindings":{ + "type":"structure", + "members":{ + "EbsVolumes":{ + "shape":"Boolean", + "locationName":"ebsVolumes" + } + } + }, + "ScanEc2InstanceWithFindingsResult":{ + "type":"structure", + "members":{ + "EbsVolumes":{ + "shape":"EbsVolumesResult", + "locationName":"ebsVolumes" + } + } + }, + "ScanFilePath":{ + "type":"structure", + "members":{ + "FilePath":{ + "shape":"String", + "locationName":"filePath" + }, + "VolumeArn":{ + "shape":"String", + "locationName":"volumeArn" + }, + "Hash":{ + "shape":"String", + "locationName":"hash" + }, + "FileName":{ + "shape":"String", + "locationName":"fileName" + } + } + }, + "ScanResourceCriteria":{ + "type":"structure", + "members":{ + "Include":{ + "shape":"ScanCriterion", + "locationName":"include" + }, + "Exclude":{ + "shape":"ScanCriterion", + "locationName":"exclude" + } + } + }, + "ScanResult":{ + "type":"string", + "enum":[ + "CLEAN", + "INFECTED" + ] + }, + "ScanResultDetails":{ + "type":"structure", + "members":{ + "ScanResult":{ + "shape":"ScanResult", + "locationName":"scanResult" + } + } + }, + "ScanStatus":{ + "type":"string", + "enum":[ + "RUNNING", + "COMPLETED", + "FAILED" + ] + }, + "ScanThreatName":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "locationName":"name" + }, + "Severity":{ + "shape":"String", + "locationName":"severity" + }, + "ItemCount":{ + "shape":"Integer", + "locationName":"itemCount" + }, + "FilePaths":{ + "shape":"FilePaths", + "locationName":"filePaths" + } + } + }, + "ScanThreatNames":{ + "type":"list", + "member":{"shape":"ScanThreatName"} + }, + "ScannedItemCount":{ + "type":"structure", + "members":{ + "TotalGb":{ + "shape":"Integer", + "locationName":"totalGb" + }, + "Files":{ + "shape":"Integer", + "locationName":"files" + }, + "Volumes":{ + "shape":"Integer", + "locationName":"volumes" + } + } + }, + "Scans":{ + "type":"list", + "member":{"shape":"Scan"} + }, "SecurityContext":{ "type":"structure", "members":{ @@ -4316,6 +5027,14 @@ "AdditionalInfo":{ "shape":"ServiceAdditionalInfo", "locationName":"additionalInfo" + }, + "FeatureName":{ + "shape":"String", + "locationName":"featureName" + }, + "EbsVolumeScanDetails":{ + "shape":"EbsVolumeScanDetails", + "locationName":"ebsVolumeScanDetails" } } }, @@ -4349,6 +5068,10 @@ "type":"list", "member":{"shape":"String"} }, + "Sources":{ + "type":"list", + "member":{"shape":"String"} + }, "StartMonitoringMembersRequest":{ "type":"structure", "required":[ @@ -4469,6 +5192,27 @@ "type":"list", "member":{"shape":"Tag"} }, + "ThreatDetectedByName":{ + "type":"structure", + "members":{ + "ItemCount":{ + "shape":"Integer", + "locationName":"itemCount" + }, + "UniqueThreatNameCount":{ + "shape":"Integer", + "locationName":"uniqueThreatNameCount" + }, + "Shortened":{ + "shape":"Boolean", + "locationName":"shortened" + }, + "ThreatNames":{ + "shape":"ScanThreatNames", + "locationName":"threatNames" + } + } + }, "ThreatIntelSetFormat":{ "type":"string", "enum":[ @@ -4523,6 +5267,15 @@ "type":"list", "member":{"shape":"String"} }, + "ThreatsDetectedItemCount":{ + "type":"structure", + "members":{ + "Files":{ + "shape":"Integer", + "locationName":"files" + } + } + }, "Timestamp":{"type":"timestamp"}, "Total":{ "type":"structure", @@ -4537,6 +5290,19 @@ } } }, + "TriggerDetails":{ + "type":"structure", + "members":{ + "GuardDutyFindingId":{ + "shape":"NonEmptyString", + "locationName":"guardDutyFindingId" + }, + "Description":{ + "shape":"NonEmptyString", + "locationName":"description" + } + } + }, "UnarchiveFindingsRequest":{ "type":"structure", "required":[ @@ -4748,6 +5514,30 @@ "members":{ } }, + "UpdateMalwareScanSettingsRequest":{ + "type":"structure", + "required":["DetectorId"], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "location":"uri", + "locationName":"detectorId" + }, + "ScanResourceCriteria":{ + "shape":"ScanResourceCriteria", + "locationName":"scanResourceCriteria" + }, + "EbsSnapshotPreservation":{ + "shape":"EbsSnapshotPreservation", + "locationName":"ebsSnapshotPreservation" + } + } + }, + "UpdateMalwareScanSettingsResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateMemberDetectorsRequest":{ "type":"structure", "required":[ @@ -4983,6 +5773,43 @@ } } }, + "VolumeDetail":{ + "type":"structure", + "members":{ + "VolumeArn":{ + "shape":"String", + "locationName":"volumeArn" + }, + "VolumeType":{ + "shape":"String", + "locationName":"volumeType" + }, + "DeviceName":{ + "shape":"String", + "locationName":"deviceName" + }, + "VolumeSizeInGB":{ + "shape":"Integer", + "locationName":"volumeSizeInGB" + }, + "EncryptionType":{ + "shape":"String", + "locationName":"encryptionType" + }, + "SnapshotArn":{ + "shape":"String", + "locationName":"snapshotArn" + }, + "KmsKeyArn":{ + "shape":"String", + "locationName":"kmsKeyArn" + } + } + }, + "VolumeDetails":{ + "type":"list", + "member":{"shape":"VolumeDetail"} + }, "VolumeMount":{ "type":"structure", "members":{ diff --git a/models/apis/guardduty/2017-11-28/docs-2.json b/models/apis/guardduty/2017-11-28/docs-2.json index 66d4f78950c..4d1529abfa7 100644 --- a/models/apis/guardduty/2017-11-28/docs-2.json +++ b/models/apis/guardduty/2017-11-28/docs-2.json @@ -20,6 +20,7 @@ "DeleteMembers": "

Deletes GuardDuty member accounts (to the current GuardDuty administrator account) specified by the account IDs.

", "DeletePublishingDestination": "

Deletes the publishing definition with the specified destinationId.

", "DeleteThreatIntelSet": "

Deletes the ThreatIntelSet specified by the ThreatIntelSet ID.

", + "DescribeMalwareScans": "

Returns a list of malware scans.

", "DescribeOrganizationConfiguration": "

Returns information about the account selected as the delegated administrator for GuardDuty.

", "DescribePublishingDestination": "

Returns information about the publishing destination specified by the provided destinationId.

", "DisableOrganizationAdminAccount": "

Disables an Amazon Web Services account within the Organization as the GuardDuty delegated administrator.

", @@ -34,6 +35,7 @@ "GetFindingsStatistics": "

Lists Amazon GuardDuty findings statistics for the specified detector ID.

", "GetIPSet": "

Retrieves the IPSet specified by the ipSetId.

", "GetInvitationsCount": "

Returns the count of all GuardDuty membership invitations that were sent to the current member account except the currently accepted invitation.

", + "GetMalwareScanSettings": "

Returns the details of the malware scan settings.

", "GetMasterAccount": "

Provides the details for the GuardDuty administrator account associated with the current GuardDuty member account.

", "GetMemberDetectors": "

Describes which data sources are enabled for the member account's detector.

", "GetMembers": "

Retrieves GuardDuty member accounts (of the current GuardDuty administrator account) specified by the account IDs.

", @@ -60,6 +62,7 @@ "UpdateFilter": "

Updates the filter specified by the filter name.

", "UpdateFindingsFeedback": "

Marks the specified GuardDuty findings as useful or not useful.

", "UpdateIPSet": "

Updates the IPSet specified by the IPSet ID.

", + "UpdateMalwareScanSettings": "

Updates the malware scan settings.

", "UpdateMemberDetectors": "

Contains information on member accounts to be updated.

", "UpdateOrganizationConfiguration": "

Updates the delegated administrator account with the values provided.

", "UpdatePublishingDestination": "

Updates information about the publishing destination specified by the destinationId.

", @@ -132,6 +135,7 @@ "Master$AccountId": "

The ID of the account used as the administrator account.

", "Member$AccountId": "

The ID of the member account.

", "MemberDataSourceConfiguration$AccountId": "

The account ID for the member account.

", + "Scan$AccountId": "

The ID for the account that belongs to the scan.

", "UnprocessedAccount$AccountId": "

The Amazon Web Services account ID.

", "UsageAccountResult$AccountId": "

The Account ID that generated usage.

" } @@ -244,6 +248,8 @@ "KubernetesAuditLogsConfiguration$Enable": "

The status of Kubernetes audit logs as a data source.

", "KubernetesWorkloadDetails$HostNetwork": "

Whether the hostNetwork flag is enabled for the pods included in the workload.

", "NetworkConnectionAction$Blocked": "

Indicates whether EC2 blocked the network connection to your instance.

", + "OrganizationEbsVolumes$AutoEnable": "

Whether scanning EBS volumes should be auto-enabled for new members joining the organization.

", + "OrganizationEbsVolumesResult$AutoEnable": "

An object that contains the status of whether scanning EBS volumes should be auto-enabled for new members joining the organization.

", "OrganizationKubernetesAuditLogsConfiguration$AutoEnable": "

A value that contains information on whether Kubernetes audit logs should be enabled automatically as a data source for the organization.

", "OrganizationKubernetesAuditLogsConfigurationResult$AutoEnable": "

Whether Kubernetes audit logs data source should be auto-enabled for new members joining the organization.

", "OrganizationS3LogsConfiguration$AutoEnable": "

A value that contains information on whether S3 data event logs will be enabled automatically as a data source for the organization.

", @@ -251,8 +257,10 @@ "PortProbeAction$Blocked": "

Indicates whether EC2 blocked the port probe to the instance, such as with an ACL.

", "RemoteAccountDetails$Affiliated": "

Details on whether the Amazon Web Services account of the remote API caller is related to your GuardDuty environment. If this value is True the API caller is affiliated to your account in some way. If it is False the API caller is from outside your environment.

", "S3LogsConfiguration$Enable": "

The status of S3 data event logs as a data source.

", + "ScanEc2InstanceWithFindings$EbsVolumes": "

Describes the configuration for scanning EBS volumes as data source.

", "SecurityContext$Privileged": "

Whether the container is privileged.

", "Service$Archived": "

Indicates whether this finding is archived.

", + "ThreatDetectedByName$Shortened": "

Flag to determine if the finding contains every single infected file-path and/or every threat.

", "UpdateDetectorRequest$Enable": "

Specifies whether the detector is enabled or not enabled.

", "UpdateIPSetRequest$Activate": "

The updated Boolean value that specifies whether the IPSet is active or not.

", "UpdateOrganizationConfigurationRequest$AutoEnable": "

Indicates whether to automatically enable member accounts in the organization.

", @@ -302,12 +310,14 @@ "Container": { "base": "

Details of a container.

", "refs": { - "Containers$member": null + "Containers$member": null, + "Resource$ContainerDetails": null } }, "Containers": { "base": null, "refs": { + "EcsTaskDetails$Containers": "

The containers that's associated with the task.

", "KubernetesWorkloadDetails$Containers": "

Containers running as part of the Kubernetes workload.

" } }, @@ -399,6 +409,12 @@ "FindingCriteria$Criterion": "

Represents a map of finding properties that match specified conditions and values when querying findings.

" } }, + "CriterionKey": { + "base": null, + "refs": { + "FilterCriterion$CriterionKey": "

An enum value representing possible scan properties to match with given scan entries.

" + } + }, "DNSLogsConfigurationResult": { "base": "

Contains information on the status of DNS logs as a data source.

", "refs": { @@ -434,7 +450,8 @@ "DataSourcesFreeTrial$DnsLogs": "

Describes whether any DNS logs are enabled as data sources.

", "DataSourcesFreeTrial$FlowLogs": "

Describes whether any VPC Flow logs are enabled as data sources.

", "DataSourcesFreeTrial$S3Logs": "

Describes whether any S3 data event logs are enabled as data sources.

", - "KubernetesDataSourceFreeTrial$AuditLogs": "

Describes whether Kubernetes audit logs are enabled as a data source.

" + "KubernetesDataSourceFreeTrial$AuditLogs": "

Describes whether Kubernetes audit logs are enabled as a data source.

", + "MalwareProtectionDataSourceFreeTrial$ScanEc2InstanceWithFindings": "

Describes whether Malware Protection for EC2 instances with findings is enabled as a data source.

" } }, "DataSourceList": { @@ -448,6 +465,7 @@ "refs": { "CloudTrailConfigurationResult$Status": "

Describes whether CloudTrail is enabled as a data source for the detector.

", "DNSLogsConfigurationResult$Status": "

Denotes whether DNS logs is enabled as a data source.

", + "EbsVolumesResult$Status": "

Describes whether scanning EBS volumes is enabled as a data source.

", "FlowLogsConfigurationResult$Status": "

Denotes whether VPC flow logs is enabled as a data source.

", "KubernetesAuditLogsConfigurationResult$Status": "

A value that describes whether Kubernetes audit logs are enabled as a data source.

", "S3LogsConfigurationResult$Status": "

A value that describes whether S3 data event logs are automatically enabled for new members of the organization.

" @@ -545,6 +563,16 @@ "refs": { } }, + "DescribeMalwareScansRequest": { + "base": null, + "refs": { + } + }, + "DescribeMalwareScansResponse": { + "base": null, + "refs": { + } + }, "DescribeOrganizationConfigurationRequest": { "base": null, "refs": { @@ -612,6 +640,7 @@ "DeleteMembersRequest$DetectorId": "

The unique ID of the detector of the GuardDuty account whose members you want to delete.

", "DeletePublishingDestinationRequest$DetectorId": "

The unique ID of the detector associated with the publishing destination to delete.

", "DeleteThreatIntelSetRequest$DetectorId": "

The unique ID of the detector that the threatIntelSet is associated with.

", + "DescribeMalwareScansRequest$DetectorId": "

The unique ID of the detector that the request is associated with.

", "DescribeOrganizationConfigurationRequest$DetectorId": "

The ID of the detector to retrieve information about the delegated administrator from.

", "DescribePublishingDestinationRequest$DetectorId": "

The unique ID of the detector associated with the publishing destination to retrieve.

", "DetectorIds$member": null, @@ -624,6 +653,7 @@ "GetFindingsRequest$DetectorId": "

The ID of the detector that specifies the GuardDuty service whose findings you want to retrieve.

", "GetFindingsStatisticsRequest$DetectorId": "

The ID of the detector that specifies the GuardDuty service whose findings' statistics you want to retrieve.

", "GetIPSetRequest$DetectorId": "

The unique ID of the detector that the IPSet is associated with.

", + "GetMalwareScanSettingsRequest$DetectorId": "

The unique ID of the detector that the scan setting is associated with.

", "GetMasterAccountRequest$DetectorId": "

The unique ID of the detector of the GuardDuty member account.

", "GetMemberDetectorsRequest$DetectorId": "

The detector ID for the administrator account.

", "GetMembersRequest$DetectorId": "

The unique ID of the detector of the GuardDuty account whose members you want to retrieve.

", @@ -638,6 +668,8 @@ "ListPublishingDestinationsRequest$DetectorId": "

The ID of the detector to retrieve publishing destinations for.

", "ListThreatIntelSetsRequest$DetectorId": "

The unique ID of the detector that the threatIntelSet is associated with.

", "Member$DetectorId": "

The detector ID of the member account.

", + "Scan$DetectorId": "

The unique ID of the detector that the request is associated with.

", + "Scan$AdminDetectorId": "

The unique detector ID of the administrator account that the request is associated with. Note that this value will be the same as the one used for DetectorId if the account is an administrator.

", "Service$DetectorId": "

The detector ID for the GuardDuty service.

", "StartMonitoringMembersRequest$DetectorId": "

The unique ID of the detector of the GuardDuty administrator account associated with the member accounts to monitor.

", "StopMonitoringMembersRequest$DetectorId": "

The unique ID of the detector associated with the GuardDuty administrator account that is monitoring member accounts.

", @@ -646,6 +678,7 @@ "UpdateFilterRequest$DetectorId": "

The unique ID of the detector that specifies the GuardDuty service where you want to update a filter.

", "UpdateFindingsFeedbackRequest$DetectorId": "

The ID of the detector associated with the findings to update feedback for.

", "UpdateIPSetRequest$DetectorId": "

The detectorID that specifies the GuardDuty service whose IPSet you want to update.

", + "UpdateMalwareScanSettingsRequest$DetectorId": "

The unique ID of the detector that specifies the GuardDuty service where you want to update scan settings.

", "UpdateMemberDetectorsRequest$DetectorId": "

The detector ID of the administrator account.

", "UpdateOrganizationConfigurationRequest$DetectorId": "

The ID of the detector to update the delegated administrator for.

", "UpdatePublishingDestinationRequest$DetectorId": "

The ID of the detector associated with the publishing destinations to update.

", @@ -725,6 +758,43 @@ "GeoLocation$Lon": "

The longitude information of the remote IP address.

" } }, + "EbsSnapshotPreservation": { + "base": null, + "refs": { + "GetMalwareScanSettingsResponse$EbsSnapshotPreservation": "

An enum value representing possible snapshot preservations.

", + "UpdateMalwareScanSettingsRequest$EbsSnapshotPreservation": "

An enum value representing possible snapshot preservations.

" + } + }, + "EbsVolumeDetails": { + "base": "

Contains list of scanned and skipped EBS volumes with details.

", + "refs": { + "Resource$EbsVolumeDetails": "

Contains list of scanned and skipped EBS volumes with details.

" + } + }, + "EbsVolumeScanDetails": { + "base": "

Contains details from the malware scan that created a finding.

", + "refs": { + "Service$EbsVolumeScanDetails": "

Returns details from the malware scan that created a finding.

" + } + }, + "EbsVolumesResult": { + "base": "

Describes the configuration of scanning EBS volumes as a data source.

", + "refs": { + "ScanEc2InstanceWithFindingsResult$EbsVolumes": "

Describes the configuration of scanning EBS volumes as a data source.

" + } + }, + "EcsClusterDetails": { + "base": "

Contains information about the details of the ECS Cluster.

", + "refs": { + "Resource$EcsClusterDetails": "

Contains information about the details of the ECS Cluster.

" + } + }, + "EcsTaskDetails": { + "base": "

Contains information about the task in an ECS cluster.

", + "refs": { + "EcsClusterDetails$TaskDetails": "

Contains information about the details of the ECS Task.

" + } + }, "EksClusterDetails": { "base": "

Details about the EKS cluster involved in a Kubernetes finding.

", "refs": { @@ -772,6 +842,12 @@ "UpdateFindingsFeedbackRequest$Feedback": "

The feedback for the finding.

" } }, + "FilePaths": { + "base": null, + "refs": { + "ScanThreatName$FilePaths": "

List of infected files in EBS volume with details.

" + } + }, "FilterAction": { "base": null, "refs": { @@ -780,6 +856,30 @@ "UpdateFilterRequest$Action": "

Specifies the action that is to be applied to the findings that match the filter.

" } }, + "FilterCondition": { + "base": "

Contains information about the condition.

", + "refs": { + "FilterCriterion$FilterCondition": "

Contains information about the condition.

" + } + }, + "FilterCriteria": { + "base": "

Represents the criteria to be used in the filter for describing scan entries.

", + "refs": { + "DescribeMalwareScansRequest$FilterCriteria": "

Represents the criteria to be used in the filter for describing scan entries.

" + } + }, + "FilterCriterion": { + "base": "

Represents a condition that when matched will be added to the response of the operation.

", + "refs": { + "FilterCriterionList$member": null + } + }, + "FilterCriterionList": { + "base": null, + "refs": { + "FilterCriteria$FilterCriterion": "

Represents a condition that when matched will be added to the response of the operation.

" + } + }, "FilterDescription": { "base": null, "refs": { @@ -971,6 +1071,16 @@ "refs": { } }, + "GetMalwareScanSettingsRequest": { + "base": null, + "refs": { + } + }, + "GetMalwareScanSettingsResponse": { + "base": null, + "refs": { + } + }, "GetMasterAccountRequest": { "base": null, "refs": { @@ -1045,6 +1155,12 @@ "UntagResourceRequest$ResourceArn": "

The Amazon Resource Name (ARN) for the resource to remove tags from.

" } }, + "HighestSeverityThreatDetails": { + "base": "

Contains details of the highest severity threat detected during scan and number of infected files.

", + "refs": { + "ScanDetections$HighestSeverityThreatDetails": "

Details of the highest severity threat detected during malware scan and number of infected files.

" + } + }, "HostPath": { "base": "

Represents a pre-existing file or directory on the host machine that the volume maps to.

", "refs": { @@ -1057,6 +1173,12 @@ "InstanceDetails$IamInstanceProfile": "

The profile information of the EC2 instance.

" } }, + "InstanceArn": { + "base": null, + "refs": { + "ResourceDetails$InstanceArn": "

InstanceArn that was scanned in the scan entry.

" + } + }, "InstanceDetails": { "base": "

Contains information about the details of an instance.

", "refs": { @@ -1072,11 +1194,29 @@ "Condition$Lte": "

Represents a less than or equal condition to be applied to a single field when querying for findings.

", "CountBySeverity$value": null, "DataSourceFreeTrial$FreeTrialDaysRemaining": "

A value that specifies the number of days left to use each enabled data source.

", + "EcsClusterDetails$ActiveServicesCount": "

The number of services that are running on the cluster in an ACTIVE state.

", + "EcsClusterDetails$RegisteredContainerInstancesCount": "

The number of container instances registered into the cluster.

", + "EcsClusterDetails$RunningTasksCount": "

The number of tasks in the cluster that are in the RUNNING state.

", "GetInvitationsCountResponse$InvitationsCount": "

The number of received invitations.

", + "HighestSeverityThreatDetails$Count": "

Total number of infected files with the highest severity threat detected.

", "KubernetesApiCallAction$StatusCode": "

The resulting HTTP response code of the Kubernetes API call action.

", "LocalPortDetails$Port": "

The port number of the local connection.

", "RemotePortDetails$Port": "

The port number of the remote connection.

", - "Service$Count": "

The total count of the occurrences of this finding type.

" + "ScanThreatName$ItemCount": "

Total number of files infected with given threat.

", + "ScannedItemCount$TotalGb": "

Total GB of files scanned for malware.

", + "ScannedItemCount$Files": "

Number of files scanned.

", + "ScannedItemCount$Volumes": "

Total number of scanned volumes.

", + "Service$Count": "

The total count of the occurrences of this finding type.

", + "ThreatDetectedByName$ItemCount": "

Total number of infected files identified.

", + "ThreatDetectedByName$UniqueThreatNameCount": "

Total number of unique threats by name identified, as part of the malware scan.

", + "ThreatsDetectedItemCount$Files": "

Total number of infected files.

", + "VolumeDetail$VolumeSizeInGB": "

EBS volume size in GB.

" + } + }, + "IntegerValueWithMax": { + "base": null, + "refs": { + "DescribeMalwareScansRequest$MaxResults": "

You can use this parameter to indicate the maximum number of items that you want in the response. The default value is 50. The maximum value is 50.

" } }, "InternalServerErrorException": { @@ -1320,6 +1460,37 @@ "DescribePublishingDestinationResponse$PublishingFailureStartTimestamp": "

The time, in epoch millisecond format, at which GuardDuty was first unable to publish findings to the destination.

" } }, + "LongValue": { + "base": null, + "refs": { + "FilterCondition$GreaterThan": "

Represents a greater than condition to be applied to a single field when querying for scan entries.

", + "FilterCondition$LessThan": "

Represents a less than condition to be applied to a single field when querying for scan entries.

" + } + }, + "MalwareProtectionConfiguration": { + "base": "

Describes whether Malware Protection will be enabled as a data source.

", + "refs": { + "DataSourceConfigurations$MalwareProtection": "

Describes whether Malware Protection is enabled as a data source.

" + } + }, + "MalwareProtectionConfigurationResult": { + "base": "

An object that contains information on the status of all Malware Protection data sources.

", + "refs": { + "DataSourceConfigurationsResult$MalwareProtection": "

Describes the configuration of Malware Protection data sources.

" + } + }, + "MalwareProtectionDataSourceFreeTrial": { + "base": "

Provides details about Malware Protection when it is enabled as a data source.

", + "refs": { + "DataSourcesFreeTrial$MalwareProtection": "

Describes whether Malware Protection is enabled as a data source.

" + } + }, + "MapEquals": { + "base": null, + "refs": { + "ScanCondition$MapEquals": "

Represents an mapEqual condition to be applied to a single field when triggering for malware scan.

" + } + }, "Master": { "base": "

Contains information about the administrator account and invitation.

", "refs": { @@ -1401,6 +1572,16 @@ "InstanceDetails$NetworkInterfaces": "

The elastic network interface information of the EC2 instance.

" } }, + "NonEmptyString": { + "base": null, + "refs": { + "FilterCondition$EqualsValue": "

Represents an equal condition to be applied to a single field when querying for scan entries.

", + "Scan$ScanId": "

The unique scan ID associated with a scan entry.

", + "Scan$FailureReason": "

Represents the reason for FAILED scan status.

", + "TriggerDetails$GuardDutyFindingId": "

The ID of the GuardDuty finding that triggered the BirdDog scan.

", + "TriggerDetails$Description": "

The description of the scan trigger.

" + } + }, "NotEquals": { "base": null, "refs": { @@ -1431,6 +1612,18 @@ "DescribeOrganizationConfigurationResponse$DataSources": "

Describes which data sources are enabled automatically for member accounts.

" } }, + "OrganizationEbsVolumes": { + "base": "

Organization-wide EBS volumes scan configuration.

", + "refs": { + "OrganizationScanEc2InstanceWithFindings$EbsVolumes": "

Whether scanning EBS volumes should be auto-enabled for new members joining the organization.

" + } + }, + "OrganizationEbsVolumesResult": { + "base": "

An object that contains information on the status of whether EBS volumes scanning will be enabled as a data source for an organization.

", + "refs": { + "OrganizationScanEc2InstanceWithFindingsResult$EbsVolumes": "

Describes the configuration for scanning EBS volumes for an organization.

" + } + }, "OrganizationKubernetesAuditLogsConfiguration": { "base": "

Organization-wide Kubernetes audit logs configuration.

", "refs": { @@ -1455,6 +1648,18 @@ "OrganizationDataSourceConfigurationsResult$Kubernetes": "

Describes the configuration of Kubernetes data sources.

" } }, + "OrganizationMalwareProtectionConfiguration": { + "base": "

Organization-wide Malware Protection configurations.

", + "refs": { + "OrganizationDataSourceConfigurations$MalwareProtection": "

Describes the configuration of Malware Protection for new members of the organization.

" + } + }, + "OrganizationMalwareProtectionConfigurationResult": { + "base": "

An object that contains information on the status of all Malware Protection data source for an organization.

", + "refs": { + "OrganizationDataSourceConfigurationsResult$MalwareProtection": "

Describes the configuration of Malware Protection data source for an organization.

" + } + }, "OrganizationS3LogsConfiguration": { "base": "

Describes whether S3 data event logs will be automatically enabled for new members of the organization.

", "refs": { @@ -1467,6 +1672,18 @@ "OrganizationDataSourceConfigurationsResult$S3Logs": "

Describes whether S3 data event logs are enabled as a data source.

" } }, + "OrganizationScanEc2InstanceWithFindings": { + "base": "

Organization-wide EC2 instances with findings scan configuration.

", + "refs": { + "OrganizationMalwareProtectionConfiguration$ScanEc2InstanceWithFindings": "

Whether Malware Protection for EC2 instances with findings should be auto-enabled for new members joining the organization.

" + } + }, + "OrganizationScanEc2InstanceWithFindingsResult": { + "base": "

An object that contains information on the status of scanning EC2 instances with findings for an organization.

", + "refs": { + "OrganizationMalwareProtectionConfigurationResult$ScanEc2InstanceWithFindings": "

Describes the configuration for scanning EC2 instances with findings for an organization.

" + } + }, "Owner": { "base": "

Contains information on the owner of the bucket.

", "refs": { @@ -1497,6 +1714,13 @@ "PortProbeAction$PortProbeDetails": "

A list of objects related to port probe details.

" } }, + "PositiveLong": { + "base": null, + "refs": { + "Scan$TotalBytes": "

Represents total bytes that were scanned.

", + "Scan$FileCount": "

Represents the number of files that were scanned.

" + } + }, "PrivateIpAddressDetails": { "base": "

Contains other private IP address information of the EC2 instance.

", "refs": { @@ -1561,6 +1785,12 @@ "Finding$Resource": null } }, + "ResourceDetails": { + "base": "

Represents the resources that were scanned in the scan entry.

", + "refs": { + "Scan$ResourceDetails": "

Represents the resources that were scanned in the scan entry.

" + } + }, "ResourceList": { "base": null, "refs": { @@ -1591,6 +1821,110 @@ "DataSourceConfigurationsResult$S3Logs": "

An object that contains information on the status of S3 Data event logs as a data source.

" } }, + "Scan": { + "base": "

Contains information about a malware scan.

", + "refs": { + "Scans$member": null + } + }, + "ScanCondition": { + "base": "

Contains information about the condition.

", + "refs": { + "ScanCriterion$value": null + } + }, + "ScanConditionPair": { + "base": "

Represents key, value pair to be matched against given resource property.

", + "refs": { + "MapEquals$member": null + } + }, + "ScanCriterion": { + "base": "

Represents a map of resource properties that match specified conditions and values when triggering malware scans.

", + "refs": { + "ScanResourceCriteria$Include": "

Represents condition that when matched will allow a malware scan for a certain resource.

", + "ScanResourceCriteria$Exclude": "

Represents condition that when matched will prevent a malware scan for a certain resource.

" + } + }, + "ScanCriterionKey": { + "base": "

An enum value representing possible resource properties to match with given scan condition.

", + "refs": { + "ScanCriterion$key": null + } + }, + "ScanDetections": { + "base": "

Contains a complete view providing malware scan result details.

", + "refs": { + "EbsVolumeScanDetails$ScanDetections": "

Contains a complete view providing malware scan result details.

" + } + }, + "ScanEc2InstanceWithFindings": { + "base": "

Describes whether Malware Protection for EC2 instances with findings will be enabled as a data source.

", + "refs": { + "MalwareProtectionConfiguration$ScanEc2InstanceWithFindings": "

Describes the configuration of Malware Protection for EC2 instances with findings.

" + } + }, + "ScanEc2InstanceWithFindingsResult": { + "base": "

An object that contains information on the status of whether Malware Protection for EC2 instances with findings will be enabled as a data source.

", + "refs": { + "MalwareProtectionConfigurationResult$ScanEc2InstanceWithFindings": "

Describes the configuration of Malware Protection for EC2 instances with findings.

" + } + }, + "ScanFilePath": { + "base": "

Contains details of infected file including name, file path and hash.

", + "refs": { + "FilePaths$member": null + } + }, + "ScanResourceCriteria": { + "base": "

Contains information about criteria used to filter resources before triggering malware scan.

", + "refs": { + "GetMalwareScanSettingsResponse$ScanResourceCriteria": "

Represents the criteria to be used in the filter for scanning resources.

", + "UpdateMalwareScanSettingsRequest$ScanResourceCriteria": "

Represents the criteria to be used in the filter for selecting resources to scan.

" + } + }, + "ScanResult": { + "base": null, + "refs": { + "ScanResultDetails$ScanResult": "

An enum value representing possible scan results.

" + } + }, + "ScanResultDetails": { + "base": "

Represents the result of the scan.

", + "refs": { + "Scan$ScanResultDetails": "

Represents the result of the scan.

" + } + }, + "ScanStatus": { + "base": null, + "refs": { + "Scan$ScanStatus": "

An enum value representing possible scan statuses.

" + } + }, + "ScanThreatName": { + "base": "

Contains files infected with the given threat providing details of malware name and severity.

", + "refs": { + "ScanThreatNames$member": null + } + }, + "ScanThreatNames": { + "base": null, + "refs": { + "ThreatDetectedByName$ThreatNames": "

List of identified threats with details, organized by threat name.

" + } + }, + "ScannedItemCount": { + "base": "

Total number of scanned files.

", + "refs": { + "ScanDetections$ScannedItemCount": "

Total number of scanned files.

" + } + }, + "Scans": { + "base": null, + "refs": { + "DescribeMalwareScansResponse$Scans": "

Contains information about malware scans.

" + } + }, "SecurityContext": { "base": "

Container security context.

", "refs": { @@ -1624,6 +1958,7 @@ "SortCriteria": { "base": "

Contains information about the criteria used for sorting findings.

", "refs": { + "DescribeMalwareScansRequest$SortCriteria": "

Represents the criteria used for sorting scan entries.

", "GetFindingsRequest$SortCriteria": "

Represents the criteria used for sorting findings.

", "ListFindingsRequest$SortCriteria": "

Represents the criteria used for sorting findings.

" } @@ -1634,6 +1969,12 @@ "KubernetesApiCallAction$SourceIps": "

The IP of the Kubernetes API caller and the IPs of any proxies or load balancers between the caller and the API endpoint.

" } }, + "Sources": { + "base": null, + "refs": { + "EbsVolumeScanDetails$Sources": "

Contains list of threat intelligence sources used to detect threats.

" + } + }, "StartMonitoringMembersRequest": { "base": null, "refs": { @@ -1699,6 +2040,8 @@ "DeleteIPSetRequest$IpSetId": "

The unique ID of the IPSet to delete.

", "DeletePublishingDestinationRequest$DestinationId": "

The ID of the publishing destination to delete.

", "DeleteThreatIntelSetRequest$ThreatIntelSetId": "

The unique ID of the threatIntelSet that you want to delete.

", + "DescribeMalwareScansRequest$NextToken": "

You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the list action. For subsequent calls to the action, fill nextToken in the request with the value of NextToken from the previous response to continue listing data.

", + "DescribeMalwareScansResponse$NextToken": "

The pagination parameter to be used on the next list operation to retrieve more items.

", "DescribePublishingDestinationRequest$DestinationId": "

The ID of the publishing destination to retrieve.

", "DescribePublishingDestinationResponse$DestinationId": "

The ID of the publishing destination.

", "Destination$DestinationId": "

The unique ID of the publishing destination.

", @@ -1708,6 +2051,16 @@ "DnsRequestAction$Domain": "

The domain information for the API request.

", "DnsRequestAction$Protocol": "

The network connection protocol observed in the activity that prompted GuardDuty to generate the finding.

", "DomainDetails$Domain": "

The domain information for the Amazon Web Services API call.

", + "EbsVolumeScanDetails$ScanId": "

Unique Id of the malware scan that generated the finding.

", + "EbsVolumeScanDetails$TriggerFindingId": "

GuardDuty finding ID that triggered a malware scan.

", + "EcsClusterDetails$Name": "

The name of the ECS Cluster.

", + "EcsClusterDetails$Arn": "

The Amazon Resource Name (ARN) that identifies the cluster.

", + "EcsClusterDetails$Status": "

The status of the ECS cluster.

", + "EcsTaskDetails$Arn": "

The Amazon Resource Name (ARN) of the task.

", + "EcsTaskDetails$DefinitionArn": "

The ARN of the task definition that creates the task.

", + "EcsTaskDetails$Version": "

The version counter for the task.

", + "EcsTaskDetails$StartedBy": "

Contains the tag specified when a task is started.

", + "EcsTaskDetails$Group": "

The name of the task group that's associated with the task.

", "EksClusterDetails$Name": "

EKS cluster name.

", "EksClusterDetails$Arn": "

EKS cluster ARN.

", "EksClusterDetails$VpcId": "

The VPC ID to which the EKS cluster is attached.

", @@ -1735,6 +2088,8 @@ "GetUsageStatisticsRequest$NextToken": "

A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request to a list action. For subsequent calls, use the NextToken value returned from the previous request to continue listing results after the first page.

", "GetUsageStatisticsResponse$NextToken": "

The pagination parameter to be used on the next list operation to retrieve more items.

", "Groups$member": null, + "HighestSeverityThreatDetails$Severity": "

Severity level of the highest severity threat detected.

", + "HighestSeverityThreatDetails$ThreatName": "

Threat name of the highest severity threat detected as part of the malware scan.

", "HostPath$Path": "

Path of the file or directory on the host that the volume maps to.

", "IamInstanceProfile$Arn": "

The profile ARN of the EC2 instance.

", "IamInstanceProfile$Id": "

The profile ID of the EC2 instance.

", @@ -1786,6 +2141,7 @@ "ListThreatIntelSetsResponse$NextToken": "

The pagination parameter to be used on the next list operation to retrieve more items.

", "LocalIpDetails$IpAddressV4": "

The IPv4 local address of the connection.

", "LocalPortDetails$PortName": "

The port name of the local connection.

", + "MalwareProtectionConfigurationResult$ServiceRole": "

The GuardDuty Malware Protection service role.

", "Master$InvitationId": "

The value used to validate the administrator account to the member account.

", "Master$RelationshipStatus": "

The status of the relationship between the administrator and member accounts.

", "Master$InvitedAt": "

The timestamp when the invitation was sent.

", @@ -1823,6 +2179,12 @@ "S3BucketDetail$Arn": "

The Amazon Resource Name (ARN) of the S3 bucket.

", "S3BucketDetail$Name": "

The name of the S3 bucket.

", "S3BucketDetail$Type": "

Describes whether the bucket is a source or destination bucket.

", + "ScanFilePath$FilePath": "

The file path of the infected file.

", + "ScanFilePath$VolumeArn": "

EBS volume Arn details of the infected file.

", + "ScanFilePath$Hash": "

The hash value of the infected file.

", + "ScanFilePath$FileName": "

File name of the infected file.

", + "ScanThreatName$Name": "

The name of the identified threat.

", + "ScanThreatName$Severity": "

Severity of threat identified as part of the malware scan.

", "SecurityGroup$GroupId": "

The security group ID of the EC2 instance.

", "SecurityGroup$GroupName": "

The security group name of the EC2 instance.

", "Service$EventFirstSeen": "

The first-seen timestamp of the activity that prompted GuardDuty to generate this finding.

", @@ -1830,10 +2192,12 @@ "Service$ResourceRole": "

The resource role information for this finding.

", "Service$ServiceName": "

The name of the Amazon Web Services service (GuardDuty) that generated a finding.

", "Service$UserFeedback": "

Feedback that was submitted about the finding.

", + "Service$FeatureName": "

The name of the feature that generated a finding.

", "ServiceAdditionalInfo$Value": "

This field specifies the value of the additional information.

", "ServiceAdditionalInfo$Type": "

Describes the type of the additional information.

", "SortCriteria$AttributeName": "

Represents the finding attribute (for example, accountId) to sort findings by.

", "SourceIps$member": null, + "Sources$member": null, "Tag$Key": "

The EC2 instance tag key.

", "Tag$Value": "

The EC2 instance tag value.

", "ThreatIntelSetIds$member": null, @@ -1849,6 +2213,12 @@ "UpdateThreatIntelSetRequest$ThreatIntelSetId": "

The unique ID that specifies the ThreatIntelSet that you want to update.

", "UsageResourceResult$Resource": "

The Amazon Web Services resource that generated usage.

", "Volume$Name": "

Volume name.

", + "VolumeDetail$VolumeArn": "

EBS volume Arn information.

", + "VolumeDetail$VolumeType": "

The EBS volume type.

", + "VolumeDetail$DeviceName": "

The device name for the EBS volume.

", + "VolumeDetail$EncryptionType": "

EBS volume encryption type.

", + "VolumeDetail$SnapshotArn": "

Snapshot Arn of the EBS volume.

", + "VolumeDetail$KmsKeyArn": "

KMS key Arn used to encrypt the EBS volume.

", "VolumeMount$Name": "

Volume mount name.

", "VolumeMount$MountPath": "

Volume mount path.

" } @@ -1862,6 +2232,7 @@ "TagKey": { "base": null, "refs": { + "ScanConditionPair$Key": "

Represents key in the map condition.

", "TagKeyList$member": null, "TagMap$key": null } @@ -1900,17 +2271,26 @@ "TagValue": { "base": null, "refs": { + "ScanConditionPair$Value": "

Represents optional value in the map condition. If not specified, only key will be matched.

", "TagMap$value": null } }, "Tags": { "base": null, "refs": { + "EcsClusterDetails$Tags": "

The tags of the ECS Cluster.

", + "EcsTaskDetails$Tags": "

The tags of the ECS Task.

", "EksClusterDetails$Tags": "

The EKS cluster tags.

", "InstanceDetails$Tags": "

The tags of the EC2 instance.

", "S3BucketDetail$Tags": "

All tags attached to the S3 bucket

" } }, + "ThreatDetectedByName": { + "base": "

Contains details about identified threats organized by threat name.

", + "refs": { + "ScanDetections$ThreatDetectedByName": "

Contains details about identified threats organized by threat name.

" + } + }, "ThreatIntelSetFormat": { "base": null, "refs": { @@ -1948,11 +2328,23 @@ "ThreatIntelligenceDetail$ThreatNames": "

A list of names of the threats in the threat intelligence list that triggered the finding.

" } }, + "ThreatsDetectedItemCount": { + "base": "

Contains total number of infected files.

", + "refs": { + "ScanDetections$ThreatsDetectedItemCount": "

Total number of infected files.

" + } + }, "Timestamp": { "base": null, "refs": { + "EbsVolumeScanDetails$ScanStartedAt": "

Returns the start date and time of the malware scan.

", + "EbsVolumeScanDetails$ScanCompletedAt": "

Returns the completion date and time of the malware scan.

", + "EcsTaskDetails$TaskCreatedAt": "

The Unix timestamp for the time when the task was created.

", + "EcsTaskDetails$StartedAt": "

The Unix timestamp for the time when the task started.

", "EksClusterDetails$CreatedAt": "

The timestamp when the EKS cluster was created.

", - "S3BucketDetail$CreatedAt": "

The date and time the bucket was created at.

" + "S3BucketDetail$CreatedAt": "

The date and time the bucket was created at.

", + "Scan$ScanStartTime": "

The timestamp of when the scan was triggered.

", + "Scan$ScanEndTime": "

The timestamp of when the scan was finished.

" } }, "Total": { @@ -1963,6 +2355,12 @@ "UsageResourceResult$Total": "

Represents the sum total of usage for the specified resource type.

" } }, + "TriggerDetails": { + "base": "

Represents the reason the scan was triggered.

", + "refs": { + "Scan$TriggerDetails": "

Represents the reason the scan was triggered.

" + } + }, "UnarchiveFindingsRequest": { "base": null, "refs": { @@ -2046,6 +2444,16 @@ "refs": { } }, + "UpdateMalwareScanSettingsRequest": { + "base": null, + "refs": { + } + }, + "UpdateMalwareScanSettingsResponse": { + "base": null, + "refs": { + } + }, "UpdateMemberDetectorsRequest": { "base": null, "refs": { @@ -2147,6 +2555,20 @@ "Volumes$member": null } }, + "VolumeDetail": { + "base": "

Contains EBS volume details.

", + "refs": { + "VolumeDetails$member": null + } + }, + "VolumeDetails": { + "base": null, + "refs": { + "EbsVolumeDetails$ScannedVolumeDetails": "

List of EBS volumes that were scanned.

", + "EbsVolumeDetails$SkippedVolumeDetails": "

List of EBS volumes that were skipped from the malware scan.

", + "Scan$AttachedVolumes": "

List of volumes that were attached to the original instance to be scanned.

" + } + }, "VolumeMount": { "base": "

Container volume mount.

", "refs": { @@ -2162,6 +2584,7 @@ "Volumes": { "base": null, "refs": { + "EcsTaskDetails$Volumes": "

The list of data volume definitions for the task.

", "KubernetesWorkloadDetails$Volumes": "

Volumes used by the Kubernetes workload.

" } } diff --git a/models/apis/guardduty/2017-11-28/paginators-1.json b/models/apis/guardduty/2017-11-28/paginators-1.json index a40bc79cc02..fa3d923c7aa 100644 --- a/models/apis/guardduty/2017-11-28/paginators-1.json +++ b/models/apis/guardduty/2017-11-28/paginators-1.json @@ -1,5 +1,11 @@ { "pagination": { + "DescribeMalwareScans": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Scans" + }, "GetUsageStatistics": { "input_token": "NextToken", "output_token": "NextToken", diff --git a/models/apis/lookoutvision/2020-11-20/api-2.json b/models/apis/lookoutvision/2020-11-20/api-2.json index 27205b9b33e..2c006de22bd 100644 --- a/models/apis/lookoutvision/2020-11-20/api-2.json +++ b/models/apis/lookoutvision/2020-11-20/api-2.json @@ -1096,7 +1096,9 @@ "EvaluationManifest":{"shape":"OutputS3Object"}, "EvaluationResult":{"shape":"OutputS3Object"}, "EvaluationEndTimestamp":{"shape":"DateTime"}, - "KmsKeyId":{"shape":"KmsKeyId"} + "KmsKeyId":{"shape":"KmsKeyId"}, + "MinInferenceUnits":{"shape":"InferenceUnits"}, + "MaxInferenceUnits":{"shape":"InferenceUnits"} } }, "ModelDescriptionMessage":{ @@ -1432,7 +1434,8 @@ "idempotencyToken":true, "location":"header", "locationName":"X-Amzn-Client-Token" - } + }, + "MaxInferenceUnits":{"shape":"InferenceUnits"} } }, "StartModelResponse":{ diff --git a/models/apis/lookoutvision/2020-11-20/docs-2.json b/models/apis/lookoutvision/2020-11-20/docs-2.json index 1ca2aea9cc6..326121b08eb 100644 --- a/models/apis/lookoutvision/2020-11-20/docs-2.json +++ b/models/apis/lookoutvision/2020-11-20/docs-2.json @@ -16,7 +16,7 @@ "ListDatasetEntries": "

Lists the JSON Lines within a dataset. An Amazon Lookout for Vision JSON Line contains the anomaly information for a single image, including the image location and the assigned label.

This operation requires permissions to perform the lookoutvision:ListDatasetEntries operation.

", "ListModelPackagingJobs": "

Lists the model packaging jobs created for an Amazon Lookout for Vision project.

This operation requires permissions to perform the lookoutvision:ListModelPackagingJobs operation.

For more information, see Using your Amazon Lookout for Vision model on an edge device in the Amazon Lookout for Vision Developer Guide.

", "ListModels": "

Lists the versions of a model in an Amazon Lookout for Vision project.

The ListModels operation is eventually consistent. Recent calls to CreateModel might take a while to appear in the response from ListProjects.

This operation requires permissions to perform the lookoutvision:ListModels operation.

", - "ListProjects": "

Lists the Amazon Lookout for Vision projects in your AWS account.

The ListProjects operation is eventually consistent. Recent calls to CreateProject and DeleteProject might take a while to appear in the response from ListProjects.

This operation requires permissions to perform the lookoutvision:ListProjects operation.

", + "ListProjects": "

Lists the Amazon Lookout for Vision projects in your AWS account that are in the AWS Region in which you call ListProjects.

The ListProjects operation is eventually consistent. Recent calls to CreateProject and DeleteProject might take a while to appear in the response from ListProjects.

This operation requires permissions to perform the lookoutvision:ListProjects operation.

", "ListTagsForResource": "

Returns a list of tags attached to the specified Amazon Lookout for Vision model.

This operation requires permissions to perform the lookoutvision:ListTagsForResource operation.

", "StartModel": "

Starts the running of the version of an Amazon Lookout for Vision model. Starting a model takes a while to complete. To check the current state of the model, use DescribeModel.

A model is ready to use when its status is HOSTED.

Once the model is running, you can detect custom labels in new images by calling DetectAnomalies.

You are charged for the amount of time that the model is running. To stop a running model, call StopModel.

This operation requires permissions to perform the lookoutvision:StartModel operation.

", "StartModelPackagingJob": "

Starts an Amazon Lookout for Vision model packaging job. A model packaging job creates an AWS IoT Greengrass component for a Lookout for Vision model. You can use the component to deploy your model to an edge device managed by Greengrass.

Use the DescribeModelPackagingJob API to determine the current status of the job. The model packaging job is complete if the value of Status is SUCCEEDED.

To deploy the component to the target device, use the component name and component version with the AWS IoT Greengrass CreateDeployment API.

This operation requires the following permissions:

  • lookoutvision:StartModelPackagingJob

  • s3:PutObject

  • s3:GetBucketLocation

  • greengrass:CreateComponentVersion

  • greengrass:DescribeComponent

  • (Optional) greengrass:TagResource. Only required if you want to tag the component.

For more information, see Using your Amazon Lookout for Vision model on an edge device in the Amazon Lookout for Vision Developer Guide.

", @@ -373,7 +373,10 @@ "InferenceUnits": { "base": null, "refs": { - "StartModelRequest$MinInferenceUnits": "

The minimum number of inference units to use. A single inference unit represents 1 hour of processing. Use a higher number to increase the TPS throughput of your model. You are charged for the number of inference units that you use.

" + "ModelDescription$MinInferenceUnits": "

The minimum number of inference units used by the model. For more information, see StartModel

", + "ModelDescription$MaxInferenceUnits": "

The maximum number of inference units Amazon Lookout for Vision uses to auto-scale the model. For more information, see StartModel.

", + "StartModelRequest$MinInferenceUnits": "

The minimum number of inference units to use. A single inference unit represents 1 hour of processing. Use a higher number to increase the TPS throughput of your model. You are charged for the number of inference units that you use.

", + "StartModelRequest$MaxInferenceUnits": "

The maximum number of inference units to use for auto-scaling the model. If you don't specify a value, Amazon Lookout for Vision doesn't auto-scale the model.

" } }, "InputS3Object": { diff --git a/models/apis/macie2/2020-01-01/api-2.json b/models/apis/macie2/2020-01-01/api-2.json index 89a824dbef2..dc00231ae5c 100644 --- a/models/apis/macie2/2020-01-01/api-2.json +++ b/models/apis/macie2/2020-01-01/api-2.json @@ -1306,6 +1306,96 @@ } ] }, + "GetRevealConfiguration": { + "name": "GetRevealConfiguration", + "http": { + "method": "GET", + "requestUri": "/reveal-configuration", + "responseCode": 200 + }, + "input": { + "shape": "GetRevealConfigurationRequest" + }, + "output": { + "shape": "GetRevealConfigurationResponse" + }, + "errors": [ + { + "shape": "ThrottlingException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "AccessDeniedException" + } + ] + }, + "GetSensitiveDataOccurrences": { + "name": "GetSensitiveDataOccurrences", + "http": { + "method": "GET", + "requestUri": "/findings/{findingId}/reveal", + "responseCode": 200 + }, + "input": { + "shape": "GetSensitiveDataOccurrencesRequest" + }, + "output": { + "shape": "GetSensitiveDataOccurrencesResponse" + }, + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + } + ] + }, + "GetSensitiveDataOccurrencesAvailability": { + "name": "GetSensitiveDataOccurrencesAvailability", + "http": { + "method": "GET", + "requestUri": "/findings/{findingId}/reveal/availability", + "responseCode": 200 + }, + "input": { + "shape": "GetSensitiveDataOccurrencesAvailabilityRequest" + }, + "output": { + "shape": "GetSensitiveDataOccurrencesAvailabilityResponse" + }, + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "AccessDeniedException" + } + ] + }, "GetUsageStatistics": { "name": "GetUsageStatistics", "http": { @@ -2031,6 +2121,34 @@ "shape": "ConflictException" } ] + }, + "UpdateRevealConfiguration": { + "name": "UpdateRevealConfiguration", + "http": { + "method": "PUT", + "requestUri": "/reveal-configuration", + "responseCode": 200 + }, + "input": { + "shape": "UpdateRevealConfigurationRequest" + }, + "output": { + "shape": "UpdateRevealConfigurationResponse" + }, + "errors": [ + { + "shape": "ThrottlingException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "AccessDeniedException" + } + ] } }, "shapes": { @@ -2184,6 +2302,13 @@ } } }, + "AvailabilityCode": { + "type": "string", + "enum": [ + "AVAILABLE", + "UNAVAILABLE" + ] + }, "AwsAccount": { "type": "structure", "members": { @@ -3377,6 +3502,18 @@ } } }, + "DetectedDataDetails": { + "type": "structure", + "members": { + "value": { + "shape": "__stringMin1Max128", + "locationName": "value" + } + }, + "required": [ + "value" + ] + }, "DisableMacieRequest": { "type": "structure", "members": {} @@ -4132,6 +4269,75 @@ } } }, + "GetRevealConfigurationRequest": { + "type": "structure", + "members": {} + }, + "GetRevealConfigurationResponse": { + "type": "structure", + "members": { + "configuration": { + "shape": "RevealConfiguration", + "locationName": "configuration" + } + } + }, + "GetSensitiveDataOccurrencesAvailabilityRequest": { + "type": "structure", + "members": { + "findingId": { + "shape": "__string", + "location": "uri", + "locationName": "findingId" + } + }, + "required": [ + "findingId" + ] + }, + "GetSensitiveDataOccurrencesAvailabilityResponse": { + "type": "structure", + "members": { + "code": { + "shape": "AvailabilityCode", + "locationName": "code" + }, + "reasons": { + "shape": "__listOfUnavailabilityReasonCode", + "locationName": "reasons" + } + } + }, + "GetSensitiveDataOccurrencesRequest": { + "type": "structure", + "members": { + "findingId": { + "shape": "__string", + "location": "uri", + "locationName": "findingId" + } + }, + "required": [ + "findingId" + ] + }, + "GetSensitiveDataOccurrencesResponse": { + "type": "structure", + "members": { + "error": { + "shape": "__string", + "locationName": "error" + }, + "sensitiveDataOccurrences": { + "shape": "SensitiveDataOccurrences", + "locationName": "sensitiveDataOccurrences" + }, + "status": { + "shape": "RevealRequestStatus", + "locationName": "status" + } + } + }, "GetUsageStatisticsRequest": { "type": "structure", "members": { @@ -5259,6 +5465,37 @@ } } }, + "RevealConfiguration": { + "type": "structure", + "members": { + "kmsKeyId": { + "shape": "__stringMin1Max2048", + "locationName": "kmsKeyId" + }, + "status": { + "shape": "RevealStatus", + "locationName": "status" + } + }, + "required": [ + "status" + ] + }, + "RevealRequestStatus": { + "type": "string", + "enum": [ + "SUCCESS", + "PROCESSING", + "ERROR" + ] + }, + "RevealStatus": { + "type": "string", + "enum": [ + "ENABLED", + "DISABLED" + ] + }, "S3Bucket": { "type": "structure", "members": { @@ -5651,6 +5888,15 @@ "CUSTOM_IDENTIFIER" ] }, + "SensitiveDataOccurrences": { + "type": "map", + "key": { + "shape": "__string" + }, + "value": { + "shape": "__listOfDetectedDataDetails" + } + }, "ServerSideEncryption": { "type": "structure", "members": { @@ -6042,12 +6288,38 @@ "aws:kms" ] }, + "UnavailabilityReasonCode": { + "type": "string", + "enum": [ + "OBJECT_EXCEEDS_SIZE_QUOTA", + "UNSUPPORTED_OBJECT_TYPE", + "UNSUPPORTED_FINDING_TYPE", + "INVALID_CLASSIFICATION_RESULT", + "OBJECT_UNAVAILABLE" + ] + }, "Unit": { "type": "string", "enum": [ "TERABYTES" ] }, + "UnprocessableEntityException": { + "type": "structure", + "members": { + "message": { + "shape": "__string", + "locationName": "message" + } + }, + "required": [ + "message" + ], + "exception": true, + "error": { + "httpStatusCode": 422 + } + }, "UnprocessedAccount": { "type": "structure", "members": { @@ -6216,6 +6488,27 @@ "type": "structure", "members": {} }, + "UpdateRevealConfigurationRequest": { + "type": "structure", + "members": { + "configuration": { + "shape": "RevealConfiguration", + "locationName": "configuration" + } + }, + "required": [ + "configuration" + ] + }, + "UpdateRevealConfigurationResponse": { + "type": "structure", + "members": { + "configuration": { + "shape": "RevealConfiguration", + "locationName": "configuration" + } + } + }, "UsageByAccount": { "type": "structure", "members": { @@ -6477,6 +6770,12 @@ "shape": "CustomDataIdentifierSummary" } }, + "__listOfDetectedDataDetails": { + "type": "list", + "member": { + "shape": "DetectedDataDetails" + } + }, "__listOfFinding": { "type": "list", "member": { @@ -6579,6 +6878,13 @@ "shape": "TagValuePair" } }, + "__listOfUnavailabilityReasonCode": { + "type": "list", + "min": 0, + "member": { + "shape": "UnavailabilityReasonCode" + } + }, "__listOfUnprocessedAccount": { "type": "list", "member": { @@ -6621,6 +6927,16 @@ "__string": { "type": "string" }, + "__stringMin1Max128": { + "type": "string", + "min": 1, + "max": 128 + }, + "__stringMin1Max2048": { + "type": "string", + "min": 1, + "max": 2048 + }, "__timestampIso8601": { "type": "timestamp", "timestampFormat": "iso8601" diff --git a/models/apis/macie2/2020-01-01/docs-2.json b/models/apis/macie2/2020-01-01/docs-2.json index 9c527fe929f..8719e58b973 100644 --- a/models/apis/macie2/2020-01-01/docs-2.json +++ b/models/apis/macie2/2020-01-01/docs-2.json @@ -37,6 +37,9 @@ "GetMacieSession" : "

Retrieves the current status and configuration settings for an Amazon Macie account.

", "GetMasterAccount" : "

(Deprecated) Retrieves information about the Amazon Macie administrator account for an account. This operation has been replaced by the GetAdministratorAccount operation.

", "GetMember" : "

Retrieves information about an account that's associated with an Amazon Macie administrator account.

", + "GetRevealConfiguration" : "

Retrieves the status and configuration settings for retrieving (revealing) occurrences of sensitive data reported by findings.

", + "GetSensitiveDataOccurrences" : "

Retrieves (reveals) occurrences of sensitive data reported by a finding.

", + "GetSensitiveDataOccurrencesAvailability" : "

Checks whether occurrences of sensitive data can be retrieved (revealed) for a finding.

", "GetUsageStatistics" : "

Retrieves (queries) quotas and aggregated usage data for one or more accounts.

", "GetUsageTotals" : "

Retrieves (queries) aggregated usage data for an account.

", "ListClassificationJobs" : "

Retrieves a subset of information about one or more classification jobs.

", @@ -58,7 +61,8 @@ "UpdateFindingsFilter" : "

Updates the criteria and other settings for a findings filter.

", "UpdateMacieSession" : "

Suspends or re-enables Amazon Macie, or updates the configuration settings for a Macie account.

", "UpdateMemberSession" : "

Enables an Amazon Macie administrator to suspend or re-enable Macie for a member account.

", - "UpdateOrganizationConfiguration" : "

Updates the Amazon Macie configuration settings for an organization in Organizations.

" + "UpdateOrganizationConfiguration" : "

Updates the Amazon Macie configuration settings for an organization in Organizations.

", + "UpdateRevealConfiguration" : "

Updates the status and configuration settings for retrieving (revealing) occurrences of sensitive data reported by findings.

" }, "shapes" : { "AcceptInvitationRequest" : { @@ -118,6 +122,12 @@ "UserIdentity$AssumedRole" : "

If the action was performed with temporary security credentials that were obtained using the AssumeRole operation of the Security Token Service (STS) API, the identifiers, session context, and other details about the identity.

" } }, + "AvailabilityCode" : { + "base" : "

Specifies whether occurrences of sensitive data can be retrieved for a finding. Possible values are:

", + "refs" : { + "GetSensitiveDataOccurrencesAvailabilityResponse$Code" : "

Specifies whether occurrences of sensitive data can be retrieved for the finding. Possible values are: AVAILABLE, the sensitive data can be retrieved; and, UNAVAILABLE, the sensitive data can't be retrieved. If this value is UNAVAILABLE, the reasons array indicates why the data can't be retrieved.

" + } + }, "AwsAccount" : { "base" : "

Provides information about an Amazon Web Services account and entity that performed an action on an affected resource. The action was performed using the credentials for an Amazon Web Services account other than your own account.

", "refs" : { @@ -441,6 +451,12 @@ "base" : "

Provides information about the Amazon Macie configuration settings for an organization in Organizations.

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

Specifies 1-10 occurrences of a specific type of sensitive data reported by a finding.

", + "refs" : { + "__listOfDetectedDataDetails$member" : null + } + }, "DomainDetails" : { "base" : "

Provides information about the domain name of the device that an entity used to perform an action on an affected resource.

", "refs" : { @@ -625,6 +641,18 @@ "base" : "

Provides information about an account that's associated with an Amazon Macie administrator account.

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

Provides information about the configuration settings for retrieving occurrences of sensitive data reported by findings, and the status of the configuration for an Amazon Macie account.

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

Provides information about whether occurrences of sensitive data can be retrieved for a finding and, if not, why the data can't be retrieved.

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

Provides the results of a request to retrieve occurrences of sensitive data reported by a finding.

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

Specifies criteria for filtering, sorting, and paginating the results of a query for quotas and aggregated usage data for one or more Amazon Macie accounts.

", "refs" : { } @@ -700,7 +728,7 @@ "IsDefinedInJob" : { "base" : null, "refs" : { - "JobDetails$IsDefinedInJob" : "

Specifies whether any one-time or recurring jobs are configured to analyze data in the bucket. Possible values are:

  • TRUE - The bucket is explicitly included in the bucket definition (S3BucketDefinitionForJob) for one or more jobs and at least one of those jobs has a status other than CANCELLED. Or the bucket matched the bucket criteria (S3BucketCriteriaForJob) for at least one job that previously ran.

  • FALSE - The bucket isn't explicitly included in the bucket definition (S3BucketDefinitionForJob) for any jobs, all the jobs that explicitly include the bucket in their bucket definitions have a status of CANCELLED, or the bucket didn't match the bucket criteria (S3BucketCriteriaForJob) for any jobs that previously ran.

  • UNKNOWN - An exception occurred when Amazon Macie attempted to retrieve job data for the bucket.

" + "JobDetails$IsDefinedInJob" : "

Specifies whether any one-time or recurring jobs are configured to analyze data in the bucket. Possible values are:

  • TRUE - The bucket is explicitly included in the bucket definition (S3BucketDefinitionForJob) for one or more jobs and at least one of those jobs has a status other than CANCELLED. Or the bucket matched the bucket criteria (S3BucketCriteriaForJob) for at least one job that previously ran.

  • FALSE - The bucket isn't explicitly included in the bucket definition (S3BucketDefinitionForJob) for any jobs, all the jobs that explicitly include the bucket in their bucket definitions have a status of CANCELLED, or the bucket didn't match the bucket criteria (S3BucketCriteriaForJob) for any jobs that previously ran.

  • UNKNOWN - An exception occurred when Amazon Macie attempted to retrieve job data for the bucket.

" } }, "IsMonitoredByJob" : { @@ -942,7 +970,7 @@ } }, "Occurrences" : { - "base" : "

Specifies the location of 1-15 occurrences of sensitive data that was detected by a managed data identifier or a custom data identifier and produced a sensitive data finding.

", + "base" : "

Specifies the location of 1-15 occurrences of sensitive data that was detected by a managed data identifier or a custom data identifier and produced a sensitive data finding. Depending on the file or storage format of the affected S3 object, you can optionally retrieve (reveal) sample occurrences of the sensitive data that was detected.

", "refs" : { "CustomDetection$Occurrences" : "

The location of 1-15 occurrences of the sensitive data that the custom data identifier detected. A finding includes location data for a maximum of 15 occurrences of sensitive data.

", "DefaultDetection$Occurrences" : "

The location of 1-15 occurrences of the sensitive data that was detected. A finding includes location data for a maximum of 15 occurrences of sensitive data.

" @@ -1046,6 +1074,26 @@ "Finding$ResourcesAffected" : "

The resources that the finding applies to.

" } }, + "RevealConfiguration" : { + "base" : "

Specifies the configuration settings for retrieving occurrences of sensitive data reported by findings, and the status of the configuration for an Amazon Macie account. When you enable the configuration for the first time, your request must specify an AWS Key Management Service (AWS KMS) key. Otherwise, an error occurs. Macie uses the specified key to encrypt the sensitive data that you retrieve.

", + "refs" : { + "GetRevealConfigurationResponse$Configuration" : "

The current configuration settings and the status of the configuration for the account.

", + "UpdateRevealConfigurationRequest$Configuration" : "

The new configuration settings and the status of the configuration for the account.

", + "UpdateRevealConfigurationResponse$Configuration" : "

The new configuration settings and the status of the configuration for the account.

" + } + }, + "RevealRequestStatus" : { + "base" : "

The status of a request to retrieve occurrences of sensitive data reported by a finding. Possible values are:

", + "refs" : { + "GetSensitiveDataOccurrencesResponse$Status" : "

The status of the request to retrieve occurrences of sensitive data reported by the finding. Possible values are:

  • ERROR - An error occurred when Amazon Macie attempted to locate, retrieve, or encrypt the sensitive data. The error value indicates the nature of the error that occurred.

  • PROCESSING - Macie is processing the request.

  • SUCCESS - Macie successfully located, retrieved, and encrypted the sensitive data.

" + } + }, + "RevealStatus" : { + "base" : "

The status of the configuration for the Amazon Macie account. In a request, valid values are:

", + "refs" : { + "RevealConfiguration$Status" : "

The status of the configuration for the Macie account. In a request, valid values are: ENABLED, enable the configuration for the account; and, DISABLED, disable the configuration for the account. In a response, possible values are: ENABLED, the configuration is currently enabled for the account; and, DISABLED, the configuration is currently disabled for the account.

" + } + }, "S3Bucket" : { "base" : "

Provides information about the S3 bucket that a finding applies to.

", "refs" : { @@ -1198,6 +1246,12 @@ "SensitiveDataItem$Category" : "

The category of sensitive data that was detected. For example: CREDENTIALS, for credentials data such as private keys or Amazon Web Services secret access keys; FINANCIAL_INFORMATION, for financial data such as credit card numbers; or, PERSONAL_INFORMATION, for personal health information, such as health insurance identification numbers, or personally identifiable information, such as passport numbers.

" } }, + "SensitiveDataOccurrences" : { + "base" : "

Specifies a type of sensitive data reported by a finding and provides occurrences of the specified type of sensitive data.

", + "refs" : { + "GetSensitiveDataOccurrencesResponse$SensitiveDataOccurrences" : "

A map that specifies 1-100 types of sensitive data reported by the finding and, for each type, 1-10 occurrences of sensitive data.

" + } + }, "ServerSideEncryption" : { "base" : "

Provides information about the server-side encryption settings for an S3 bucket or S3 object.

", "refs" : { @@ -1383,12 +1437,22 @@ "BucketServerSideEncryption$Type" : "

The type of server-side encryption that's used by default when storing new objects in the bucket. Possible values are:

  • AES256 - New objects are encrypted with an Amazon S3 managed key. They use SSE-S3 encryption.

  • aws:kms - New objects are encrypted with an KMS key (kmsMasterKeyId), either an Amazon Web Services managed key or a customer managed key. They use SSE-KMS encryption.

  • NONE - New objects aren't encrypted by default. Default encryption is disabled for the bucket.

" } }, + "UnavailabilityReasonCode" : { + "base" : "

Specifies why occurrences of sensitive data can't be retrieved for a finding. Possible values are:

", + "refs" : { + "__listOfUnavailabilityReasonCode$member" : null + } + }, "Unit" : { "base" : null, "refs" : { "ServiceLimit$Unit" : "

The unit of measurement for the value specified by the value field.

" } }, + "UnprocessableEntityException" : { + "base" : "

Provides information about an error that occurred due to an unprocessable entity.

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

Provides information about an account-related request that hasn't been processed.

", "refs" : { @@ -1423,6 +1487,14 @@ "base" : "

Specifies whether to enable Amazon Macie automatically for accounts that are added to an organization in Organizations.

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

Specifies the configuration settings for retrieving occurrences of sensitive data reported by findings, and the status of the configuration for an Amazon Macie account.

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

Provides information about updated configuration settings for retrieving occurrences of sensitive data reported by findings, and the status of the configuration for an Amazon Macie account.

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

Provides data for a specific usage metric and the corresponding quota for an Amazon Macie account.

", "refs" : { @@ -1558,11 +1630,11 @@ "base" : null, "refs" : { "CreateClassificationJobRequest$SamplingPercentage" : "

The sampling depth, as a percentage, for the job to apply when processing objects. This value determines the percentage of eligible objects that the job analyzes. If this value is less than 100, Amazon Macie selects the objects to analyze at random, up to the specified percentage, and analyzes all the data in those objects.

", - "CreateCustomDataIdentifierRequest$MaximumMatchDistance" : "

The maximum number of characters that can exist between text that matches the regular expression and the character sequences specified by the keywords array. Amazon Macie includes or excludes a result based on the proximity of a keyword to text that matches the regular expression. The distance can be 1-300 characters. The default value is 50.

", + "CreateCustomDataIdentifierRequest$MaximumMatchDistance" : "

The maximum number of characters that can exist between the end of at least one complete character sequence specified by the keywords array and the end of the text that matches the regex pattern. If a complete keyword precedes all the text that matches the pattern and the keyword is within the specified distance, Amazon Macie includes the result. The distance can be 1-300 characters. The default value is 50.

", "CreateFindingsFilterRequest$Position" : "

The position of the filter in the list of saved filters on the Amazon Macie console. This value also determines the order in which the filter is applied to findings, relative to other filters that are also applied to the findings.

", "DescribeBucketsRequest$MaxResults" : "

The maximum number of items to include in each page of the response. The default value is 50.

", "DescribeClassificationJobResponse$SamplingPercentage" : "

The sampling depth, as a percentage, that determines the percentage of eligible objects that the job analyzes.

", - "GetCustomDataIdentifierResponse$MaximumMatchDistance" : "

The maximum number of characters that can exist between text that matches the regular expression and the character sequences specified by the keywords array. Amazon Macie includes or excludes a result based on the proximity of a keyword to text that matches the regular expression.

", + "GetCustomDataIdentifierResponse$MaximumMatchDistance" : "

The maximum number of characters that can exist between the end of at least one complete character sequence specified by the keywords array and the end of the text that matches the regex pattern. If a complete keyword precedes all the text that matches the pattern and the keyword is within the specified distance, Amazon Macie includes the result. Otherwise, Macie excludes the result.

", "GetFindingStatisticsRequest$Size" : "

The maximum number of items to include in each page of the response.

", "GetFindingsFilterResponse$Position" : "

The position of the filter in the list of saved filters on the Amazon Macie console. This value also determines the order in which the filter is applied to findings, relative to other filters that are also applied to the findings.

", "GetUsageStatisticsRequest$MaxResults" : "

The maximum number of items to include in each page of the response.

", @@ -1571,7 +1643,7 @@ "ListFindingsRequest$MaxResults" : "

The maximum number of items to include in each page of the response.

", "MonthlySchedule$DayOfMonth" : "

The numeric day of the month when Amazon Macie runs the job. This value can be an integer from 1 through 31.

If this value exceeds the number of days in a certain month, Macie doesn't run the job that month. Macie runs the job only during months that have the specified day. For example, if this value is 31 and a month has only 30 days, Macie doesn't run the job that month. To run the job every month, specify a value that's less than 29.

", "SearchResourcesRequest$MaxResults" : "

The maximum number of items to include in each page of the response. The default value is 50.

", - "TestCustomDataIdentifierRequest$MaximumMatchDistance" : "

The maximum number of characters that can exist between text that matches the regular expression and the character sequences specified by the keywords array. Amazon Macie includes or excludes a result based on the proximity of a keyword to text that matches the regular expression. The distance can be 1-300 characters. The default value is 50.

", + "TestCustomDataIdentifierRequest$MaximumMatchDistance" : "

The maximum number of characters that can exist between the end of at least one complete character sequence specified by the keywords array and the end of the text that matches the regex pattern. If a complete keyword precedes all the text that matches the pattern and the keyword is within the specified distance, Amazon Macie includes the result. The distance can be 1-300 characters. The default value is 50.

", "TestCustomDataIdentifierResponse$MatchCount" : "

The number of occurrences of sample text that matched the criteria specified by the custom data identifier.

", "UpdateFindingsFilterRequest$Position" : "

The position of the filter in the list of saved filters on the Amazon Macie console. This value also determines the order in which the filter is applied to findings, relative to other filters that are also applied to the findings.

" } @@ -1606,6 +1678,12 @@ "ListCustomDataIdentifiersResponse$Items" : "

An array of objects, one for each custom data identifier.

" } }, + "__listOfDetectedDataDetails" : { + "base" : null, + "refs" : { + "SensitiveDataOccurrences$member" : null + } + }, "__listOfFinding" : { "base" : null, "refs" : { @@ -1710,6 +1788,12 @@ "TagScopeTerm$TagValues" : "

The tag keys or tag key and value pairs to use in the condition. To specify only tag keys in a condition, specify the keys in this array and set the value for each associated tag value to an empty string.

" } }, + "__listOfUnavailabilityReasonCode" : { + "base" : null, + "refs" : { + "GetSensitiveDataOccurrencesAvailabilityResponse$Reasons" : "

Specifies why occurrences of sensitive data can't be retrieved for the finding. Possible values are:

  • INVALID_CLASSIFICATION_RESULT - Amazon Macie can't verify the location of the sensitive data to retrieve. There isn't a corresponding sensitive data discovery result for the finding. Or the sensitive data discovery result specified by the ClassificationDetails.detailedResultsLocation field of the finding isn't available, is malformed or corrupted, or uses an unsupported storage format.

  • OBJECT_EXCEEDS_SIZE_QUOTA - The storage size of the affected S3 object exceeds the size quota for retrieving occurrences of sensitive data.

  • OBJECT_UNAVAILABLE - The affected S3 object isn't available. The object might have been renamed, moved, or deleted. Or the object was changed after Amazon Macie created the finding.

  • UNSUPPORTED_FINDING_TYPE - The specified finding isn't a sensitive data finding.

  • UNSUPPORTED_OBJECT_TYPE - The affected S3 object uses a file or storage format that Macie doesn't support for retrieving occurrences of sensitive data.

This value is null if sensitive data can be retrieved for the finding.

" + } + }, "__listOfUnprocessedAccount" : { "base" : null, "refs" : { @@ -1752,7 +1836,7 @@ "CreateClassificationJobRequest$CustomDataIdentifierIds" : "

An array of unique identifiers, one for each custom data identifier for the job to use when it analyzes data. To use only managed data identifiers, don't specify a value for this property and specify a value other than NONE for the managedDataIdentifierSelector property.

", "CreateClassificationJobRequest$ManagedDataIdentifierIds" : "

An array of unique identifiers, one for each managed data identifier for the job to include (use) or exclude (not use) when it analyzes data. Inclusion or exclusion depends on the managed data identifier selection type that you specify for the job (managedDataIdentifierSelector).

To retrieve a list of valid values for this property, use the ListManagedDataIdentifiers operation.

", "CreateCustomDataIdentifierRequest$IgnoreWords" : "

An array that lists specific character sequences (ignore words) to exclude from the results. If the text matched by the regular expression contains any string in this array, Amazon Macie ignores it. The array can contain as many as 10 ignore words. Each ignore word can contain 4-90 UTF-8 characters. Ignore words are case sensitive.

", - "CreateCustomDataIdentifierRequest$Keywords" : "

An array that lists specific character sequences (keywords), one of which must be within proximity (maximumMatchDistance) of the regular expression to match. The array can contain as many as 50 keywords. Each keyword can contain 3-90 UTF-8 characters. Keywords aren't case sensitive.

", + "CreateCustomDataIdentifierRequest$Keywords" : "

An array that lists specific character sequences (keywords), one of which must precede and be within proximity (maximumMatchDistance) of the regular expression to match. The array can contain as many as 50 keywords. Each keyword can contain 3-90 UTF-8 characters. Keywords aren't case sensitive.

", "CreateInvitationsRequest$AccountIds" : "

An array that lists Amazon Web Services account IDs, one for each account to send the invitation to.

", "CriterionAdditionalProperties$Eq" : "

The value for the property matches (equals) the specified value. If you specify multiple values, Macie uses OR logic to join the values.

", "CriterionAdditionalProperties$EqExactMatch" : "

The value for the property exclusively matches (equals an exact match for) all the specified values. If you specify multiple values, Amazon Macie uses AND logic to join the values.

You can use this operator with the following properties: customDataIdentifiers.detections.arn, customDataIdentifiers.detections.name, resourcesAffected.s3Bucket.tags.key, resourcesAffected.s3Bucket.tags.value, resourcesAffected.s3Object.tags.key, resourcesAffected.s3Object.tags.value, sensitiveData.category, and sensitiveData.detections.type.

", @@ -1762,7 +1846,7 @@ "DescribeClassificationJobResponse$CustomDataIdentifierIds" : "

An array of unique identifiers, one for each custom data identifier that the job uses to analyze data. This value is null if the job uses only managed data identifiers to analyze data.

", "DescribeClassificationJobResponse$ManagedDataIdentifierIds" : "

An array of unique identifiers, one for each managed data identifier that the job is explicitly configured to include (use) or exclude (not use) when it analyzes data. Inclusion or exclusion depends on the managed data identifier selection type specified for the job (managedDataIdentifierSelector). This value is null if the job's managed data identifier selection type is ALL or the job uses only custom data identifiers (customDataIdentifierIds) to analyze data.

", "GetCustomDataIdentifierResponse$IgnoreWords" : "

An array that lists specific character sequences (ignore words) to exclude from the results. If the text matched by the regular expression contains any string in this array, Amazon Macie ignores it. Ignore words are case sensitive.

", - "GetCustomDataIdentifierResponse$Keywords" : "

An array that lists specific character sequences (keywords), one of which must be within proximity (maximumMatchDistance) of the regular expression to match. Keywords aren't case sensitive.

", + "GetCustomDataIdentifierResponse$Keywords" : "

An array that lists specific character sequences (keywords), one of which must precede and be within proximity (maximumMatchDistance) of the regular expression to match. Keywords aren't case sensitive.

", "GetFindingsRequest$FindingIds" : "

An array of strings that lists the unique identifiers for the findings to retrieve. You can specify as many as 50 unique identifiers in this array.

", "ListFindingsResponse$FindingIds" : "

An array of strings, where each string is the unique identifier for a finding that meets the filter criteria specified in the request.

", "ListJobsFilterTerm$Values" : "

An array that lists one or more values to use to filter the results.

", @@ -1772,7 +1856,7 @@ "SimpleCriterionForJob$Values" : "

An array that lists one or more values to use in the condition. If you specify multiple values, Amazon Macie uses OR logic to join the values. Valid values for each supported property (key) are:

  • ACCOUNT_ID - A string that represents the unique identifier for the Amazon Web Services account that owns the bucket.

  • S3_BUCKET_EFFECTIVE_PERMISSION - A string that represents an enumerated value that Macie defines for the BucketPublicAccess.effectivePermission property of a bucket.

  • S3_BUCKET_NAME - A string that represents the name of a bucket.

  • S3_BUCKET_SHARED_ACCESS - A string that represents an enumerated value that Macie defines for the BucketMetadata.sharedAccess property of a bucket.

Values are case sensitive. Also, Macie doesn't support use of partial values or wildcard characters in these values.

", "SimpleScopeTerm$Values" : "

An array that lists the values to use in the condition. If the value for the key property is OBJECT_EXTENSION or OBJECT_KEY, this array can specify multiple values and Amazon Macie uses OR logic to join the values. Otherwise, this array can specify only one value.

Valid values for each supported property (key) are:

  • OBJECT_EXTENSION - A string that represents the file name extension of an object. For example: docx or pdf

  • OBJECT_KEY - A string that represents the key prefix (folder name or path) of an object. For example: logs or awslogs/eventlogs. This value applies a condition to objects whose keys (names) begin with the specified value.

  • OBJECT_LAST_MODIFIED_DATE - The date and time (in UTC and extended ISO 8601 format) when an object was created or last changed, whichever is latest. For example: 2020-09-28T14:31:13Z

  • OBJECT_SIZE - An integer that represents the storage size (in bytes) of an object.

Macie doesn't support use of wildcard characters in these values. Also, string values are case sensitive.

", "TestCustomDataIdentifierRequest$IgnoreWords" : "

An array that lists specific character sequences (ignore words) to exclude from the results. If the text matched by the regular expression contains any string in this array, Amazon Macie ignores it. The array can contain as many as 10 ignore words. Each ignore word can contain 4-90 UTF-8 characters. Ignore words are case sensitive.

", - "TestCustomDataIdentifierRequest$Keywords" : "

An array that lists specific character sequences (keywords), one of which must be within proximity (maximumMatchDistance) of the regular expression to match. The array can contain as many as 50 keywords. Each keyword can contain 3-90 UTF-8 characters. Keywords aren't case sensitive.

", + "TestCustomDataIdentifierRequest$Keywords" : "

An array that lists specific character sequences (keywords), one of which must precede and be within proximity (maximumMatchDistance) of the regular expression to match. The array can contain as many as 50 keywords. Each keyword can contain 3-90 UTF-8 characters. Keywords aren't case sensitive.

", "UsageStatisticsFilter$Values" : "

An array that lists values to use in the condition, based on the value for the field specified by the key property. If the value for the key property is accountId, this array can specify multiple values. Otherwise, this array can specify only one value.

Valid values for each supported field are:

  • accountId - The unique identifier for an Amazon Web Services account.

  • freeTrialStartDate - The date and time, in UTC and extended ISO 8601 format, when the free trial started for an account.

  • serviceLimit - A Boolean (true or false) value that indicates whether an account has reached its monthly quota.

  • total - A string that represents the current estimated cost for an account.

" } }, @@ -1952,6 +2036,7 @@ "GetMemberResponse$Arn" : "

The Amazon Resource Name (ARN) of the account.

", "GetMemberResponse$Email" : "

The email address for the account.

", "GetMemberResponse$MasterAccountId" : "

(Deprecated) The Amazon Web Services account ID for the administrator account. This property has been replaced by the administratorAccountId property and is retained only for backward compatibility.

", + "GetSensitiveDataOccurrencesResponse$Error" : "

If an error occurred when Amazon Macie attempted to retrieve occurrences of sensitive data reported by the finding, a description of the error that occurred. This value is null if the status (status) of the request is PROCESSING or SUCCESS.

", "GetUsageStatisticsRequest$NextToken" : "

The nextToken string that specifies which page of results to return in a paginated response.

", "GetUsageStatisticsResponse$NextToken" : "

The string to use in a subsequent request to get the next page of results in a paginated response. This value is null if there are no additional pages.

", "GroupCount$GroupKey" : "

The name of the property that defines the group in the query results, as specified by the groupBy property in the query request.

", @@ -2006,7 +2091,7 @@ "S3BucketOwner$Id" : "

The canonical user ID for the account that owns the bucket.

", "S3Destination$BucketName" : "

The name of the bucket.

", "S3Destination$KeyPrefix" : "

The path prefix to use in the path to the location in the bucket. This prefix specifies where to store classification results in the bucket.

", - "S3Destination$KmsKeyArn" : "

The Amazon Resource Name (ARN) of the KMS key to use for encryption of the results. This must be the ARN of an existing, symmetric, customer managed KMS key that's in the same Amazon Web Services Region as the bucket.

", + "S3Destination$KmsKeyArn" : "

The Amazon Resource Name (ARN) of the customer managed KMS key to use for encryption of the results. This must be the ARN of an existing, symmetric encryption KMS key that's in the same Amazon Web Services Region as the bucket.

", "S3Object$BucketArn" : "

The Amazon Resource Name (ARN) of the bucket that contains the object.

", "S3Object$ETag" : "

The entity tag (ETag) that identifies the affected version of the object. If the object was overwritten or changed after Amazon Macie produced the finding, this value might be different from the current ETag for the object.

", "S3Object$Extension" : "

The file name extension of the object. If the object doesn't have a file name extension, this value is \"\".

", @@ -2034,6 +2119,7 @@ "TestCustomDataIdentifierRequest$Regex" : "

The regular expression (regex) that defines the pattern to match. The expression can contain as many as 512 characters.

", "TestCustomDataIdentifierRequest$SampleText" : "

The sample text to inspect by using the custom data identifier. The text can contain as many as 1,000 characters.

", "ThrottlingException$Message" : "

The explanation of the error that occurred.

", + "UnprocessableEntityException$Message" : "

The type of error that occurred and prevented Amazon Macie from retrieving occurrences of sensitive data reported by the finding. Possible values are:

  • INVALID_CLASSIFICATION_RESULT - Amazon Macie can't verify the location of the sensitive data to retrieve. There isn't a corresponding sensitive data discovery result for the finding. Or the sensitive data discovery result specified by the ClassificationDetails.detailedResultsLocation field of the finding isn't available, is malformed or corrupted, or uses an unsupported storage format.

  • OBJECT_EXCEEDS_SIZE_QUOTA - The storage size of the affected S3 object exceeds the size quota for retrieving occurrences of sensitive data.

  • OBJECT_UNAVAILABLE - The affected S3 object isn't available. The object might have been renamed, moved, or deleted. Or the object was changed after Amazon Macie created the finding.

  • UNSUPPORTED_FINDING_TYPE - The specified finding isn't a sensitive data finding..

  • UNSUPPORTED_OBJECT_TYPE - The affected S3 object uses a file or storage format that Amazon Macie doesn't support for retrieving occurrences of sensitive data.

", "UnprocessedAccount$AccountId" : "

The Amazon Web Services account ID for the account that the request applies to.

", "UnprocessedAccount$ErrorMessage" : "

The reason why the request hasn't been processed.

", "UpdateFindingsFilterRequest$ClientToken" : "

A unique, case-sensitive token that you provide to ensure the idempotency of the request.

", @@ -2052,6 +2138,18 @@ "__listOf__string$member" : null } }, + "__stringMin1Max128" : { + "base" : null, + "refs" : { + "DetectedDataDetails$Value" : "

An occurrence of the specified type of sensitive data. Each occurrence can contain 1-128 characters.

" + } + }, + "__stringMin1Max2048" : { + "base" : null, + "refs" : { + "RevealConfiguration$KmsKeyId" : "

The Amazon Resource Name (ARN), ID, or alias of the KMS key to use to encrypt sensitive data that's retrieved. The key must be an existing, customer managed, symmetric encryption key that's in the same Amazon Web Services Region as the Amazon Macie account.

If this value specifies an alias, it must include the following prefix: alias/. If this value specifies a key that's owned by another Amazon Web Services account, it must specify the ARN of the key or the ARN of the key's alias.

" + } + }, "__timestampIso8601" : { "base" : null, "refs" : { @@ -2062,7 +2160,7 @@ "BucketMetadata$LastUpdated" : "

The date and time, in UTC and extended ISO 8601 format, when Amazon Macie most recently retrieved both bucket and object metadata from Amazon S3 for the bucket.

", "CustomDataIdentifierSummary$CreatedAt" : "

The date and time, in UTC and extended ISO 8601 format, when the custom data identifier was created.

", "DescribeClassificationJobResponse$CreatedAt" : "

The date and time, in UTC and extended ISO 8601 format, when the job was created.

", - "DescribeClassificationJobResponse$LastRunTime" : "

The date and time, in UTC and extended ISO 8601 format, when the job started. If the job is a recurring job, this value indicates when the most recent run started.

", + "DescribeClassificationJobResponse$LastRunTime" : "

The date and time, in UTC and extended ISO 8601 format, when the job started. If the job is a recurring job, this value indicates when the most recent run started or, if the job hasn't run yet, when the job was created.

", "Finding$CreatedAt" : "

The date and time, in UTC and extended ISO 8601 format, when the finding was created.

", "Finding$UpdatedAt" : "

The date and time, in UTC and extended ISO 8601 format, when the finding was last updated. For sensitive data findings, this value is the same as the value for the createdAt property. All sensitive data findings are considered new (unique) because they derive from individual classification jobs.

", "GetBucketStatisticsResponse$LastUpdated" : "

The date and time, in UTC and extended ISO 8601 format, when Amazon Macie most recently retrieved both bucket and object metadata from Amazon S3 for the buckets.

", diff --git a/models/apis/macie2/2020-01-01/waiters-2.json b/models/apis/macie2/2020-01-01/waiters-2.json new file mode 100644 index 00000000000..12c4a4a83dc --- /dev/null +++ b/models/apis/macie2/2020-01-01/waiters-2.json @@ -0,0 +1,25 @@ +{ + "version": 2, + "waiters": { + "FindingRevealed": { + "description": "Wait until the sensitive data occurrences are ready.", + "delay": 2, + "maxAttempts": 60, + "operation": "GetSensitiveDataOccurrences", + "acceptors": [ + { + "matcher": "path", + "argument": "status", + "state": "success", + "expected": "SUCCESS" + }, + { + "matcher": "path", + "argument": "status", + "state": "success", + "expected": "ERROR" + } + ] + } + } +} \ No newline at end of file diff --git a/models/apis/rds/2014-10-31/docs-2.json b/models/apis/rds/2014-10-31/docs-2.json index fc1a00947a2..96976d7a6aa 100644 --- a/models/apis/rds/2014-10-31/docs-2.json +++ b/models/apis/rds/2014-10-31/docs-2.json @@ -2093,7 +2093,7 @@ "EngineFamily": { "base": null, "refs": { - "CreateDBProxyRequest$EngineFamily": "

The kinds of databases that the proxy can connect to. This value determines which database network protocol the proxy recognizes when it interprets network traffic to and from the database. For Aurora MySQL and RDS for MySQL databases, specify MYSQL. For Aurora PostgreSQL and RDS for PostgreSQL databases, specify POSTGRESQL.

" + "CreateDBProxyRequest$EngineFamily": "

The kinds of databases that the proxy can connect to. This value determines which database network protocol the proxy recognizes when it interprets network traffic to and from the database. For Aurora MySQL, RDS for MariaDB, and RDS for MySQL databases, specify MYSQL. For Aurora PostgreSQL and RDS for PostgreSQL databases, specify POSTGRESQL.

" } }, "EngineModeList": { @@ -4015,7 +4015,7 @@ "DBParameterGroupsMessage$Marker": "

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

", "DBProxy$DBProxyName": "

The identifier for the proxy. This name must be unique for all proxies owned by your Amazon Web Services account in the specified Amazon Web Services Region.

", "DBProxy$DBProxyArn": "

The Amazon Resource Name (ARN) for the proxy.

", - "DBProxy$EngineFamily": "

The kinds of databases that the proxy can connect to. This value determines which database network protocol the proxy recognizes when it interprets network traffic to and from the database. MYSQL supports Aurora MySQL and RDS for MySQL databases. POSTGRESQL supports Aurora PostgreSQL and RDS for PostgreSQL databases.

", + "DBProxy$EngineFamily": "

The kinds of databases that the proxy can connect to. This value determines which database network protocol the proxy recognizes when it interprets network traffic to and from the database. MYSQL supports Aurora MySQL, RDS for MariaDB, and RDS for MySQL databases. POSTGRESQL supports Aurora PostgreSQL and RDS for PostgreSQL databases.

", "DBProxy$VpcId": "

Provides the VPC ID of the DB proxy.

", "DBProxy$RoleArn": "

The Amazon Resource Name (ARN) for the IAM role that the proxy uses to access Amazon Secrets Manager.

", "DBProxy$Endpoint": "

The endpoint that you can use to connect to the DB proxy. You include the endpoint value in the connection string for a database client application.

", diff --git a/models/apis/rekognition/2016-06-27/api-2.json b/models/apis/rekognition/2016-06-27/api-2.json index ecdbb0b9e80..8df98b502e4 100644 --- a/models/apis/rekognition/2016-06-27/api-2.json +++ b/models/apis/rekognition/2016-06-27/api-2.json @@ -2975,7 +2975,8 @@ "TestingDataResult":{"shape":"TestingDataResult"}, "EvaluationResult":{"shape":"EvaluationResult"}, "ManifestSummary":{"shape":"GroundTruthManifest"}, - "KmsKeyId":{"shape":"KmsKeyId"} + "KmsKeyId":{"shape":"KmsKeyId"}, + "MaxInferenceUnits":{"shape":"InferenceUnits"} } }, "ProjectVersionDescriptions":{ @@ -3429,7 +3430,8 @@ ], "members":{ "ProjectVersionArn":{"shape":"ProjectVersionArn"}, - "MinInferenceUnits":{"shape":"InferenceUnits"} + "MinInferenceUnits":{"shape":"InferenceUnits"}, + "MaxInferenceUnits":{"shape":"InferenceUnits"} } }, "StartProjectVersionResponse":{ diff --git a/models/apis/rekognition/2016-06-27/docs-2.json b/models/apis/rekognition/2016-06-27/docs-2.json index 872cb9b6bf9..6e9377f76e2 100644 --- a/models/apis/rekognition/2016-06-27/docs-2.json +++ b/models/apis/rekognition/2016-06-27/docs-2.json @@ -51,7 +51,7 @@ "StartFaceSearch": "

Starts the asynchronous search for faces in a collection that match the faces of persons detected in a stored video.

The video must be stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartFaceSearch returns a job identifier (JobId) which you use to get the search results once the search has completed. When searching is finished, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel. To get the search results, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetFaceSearch and pass the job identifier (JobId) from the initial call to StartFaceSearch. For more information, see Searching stored videos for faces.

", "StartLabelDetection": "

Starts asynchronous detection of labels in a stored video.

Amazon Rekognition Video can detect labels in a video. Labels are instances of real-world entities. This includes objects like flower, tree, and table; events like wedding, graduation, and birthday party; concepts like landscape, evening, and nature; and activities like a person getting out of a car or a person skiing.

The video must be stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartLabelDetection returns a job identifier (JobId) which you use to get the results of the operation. When label detection is finished, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel.

To get the results of the label detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetLabelDetection and pass the job identifier (JobId) from the initial call to StartLabelDetection.

", "StartPersonTracking": "

Starts the asynchronous tracking of a person's path in a stored video.

Amazon Rekognition Video can track the path of people in a video stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartPersonTracking returns a job identifier (JobId) which you use to get the results of the operation. When label detection is finished, Amazon Rekognition publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel.

To get the results of the person detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetPersonTracking and pass the job identifier (JobId) from the initial call to StartPersonTracking.

", - "StartProjectVersion": "

Starts the running of the version of a model. Starting a model takes a while to complete. To check the current state of the model, use DescribeProjectVersions.

Once the model is running, you can detect custom labels in new images by calling DetectCustomLabels.

You are charged for the amount of time that the model is running. To stop a running model, call StopProjectVersion.

This operation requires permissions to perform the rekognition:StartProjectVersion action.

", + "StartProjectVersion": "

Starts the running of the version of a model. Starting a model takes a while to complete. To check the current state of the model, use DescribeProjectVersions.

Once the model is running, you can detect custom labels in new images by calling DetectCustomLabels.

You are charged for the amount of time that the model is running. To stop a running model, call StopProjectVersion.

For more information, see Running a trained Amazon Rekognition Custom Labels model in the Amazon Rekognition Custom Labels Guide.

This operation requires permissions to perform the rekognition:StartProjectVersion action.

", "StartSegmentDetection": "

Starts asynchronous detection of segment detection in a stored video.

Amazon Rekognition Video can detect segments in a video stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartSegmentDetection returns a job identifier (JobId) which you use to get the results of the operation. When segment detection is finished, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel.

You can use the Filters (StartSegmentDetectionFilters) input parameter to specify the minimum detection confidence returned in the response. Within Filters, use ShotFilter (StartShotDetectionFilter) to filter detected shots. Use TechnicalCueFilter (StartTechnicalCueDetectionFilter) to filter technical cues.

To get the results of the segment detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. if so, call GetSegmentDetection and pass the job identifier (JobId) from the initial call to StartSegmentDetection.

For more information, see Detecting video segments in stored video in the Amazon Rekognition Developer Guide.

", "StartStreamProcessor": "

Starts processing a stream processor. You create a stream processor by calling CreateStreamProcessor. To tell StartStreamProcessor which stream processor to start, use the value of the Name field specified in the call to CreateStreamProcessor.

If you are using a label detection stream processor to detect labels, you need to provide a Start selector and a Stop selector to determine the length of the stream processing time.

", "StartTextDetection": "

Starts asynchronous detection of text in a stored video.

Amazon Rekognition Video can detect text in a video stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartTextDetection returns a job identifier (JobId) which you use to get the results of the operation. When text detection is finished, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel.

To get the results of the text detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. if so, call GetTextDetection and pass the job identifier (JobId) from the initial call to StartTextDetection.

", @@ -1213,7 +1213,9 @@ "base": null, "refs": { "ProjectVersionDescription$MinInferenceUnits": "

The minimum number of inference units used by the model. For more information, see StartProjectVersion.

", - "StartProjectVersionRequest$MinInferenceUnits": "

The minimum number of inference units to use. A single inference unit represents 1 hour of processing and can support up to 5 Transaction Pers Second (TPS). Use a higher number to increase the TPS throughput of your model. You are charged for the number of inference units that you use.

" + "ProjectVersionDescription$MaxInferenceUnits": "

The maximum number of inference units Amazon Rekognition Custom Labels uses to auto-scale the model. For more information, see StartProjectVersion.

", + "StartProjectVersionRequest$MinInferenceUnits": "

The minimum number of inference units to use. A single inference unit represents 1 hour of processing.

For information about the number of transactions per second (TPS) that an inference unit can support, see Running a trained Amazon Rekognition Custom Labels model in the Amazon Rekognition Custom Labels Guide.

Use a higher number to increase the TPS throughput of your model. You are charged for the number of inference units that you use.

", + "StartProjectVersionRequest$MaxInferenceUnits": "

The maximum number of inference units to use for auto-scaling the model. If you don't specify a value, Amazon Rekognition Custom Labels doesn't auto-scale the model.

" } }, "Instance": { @@ -1914,7 +1916,7 @@ } }, "RegionOfInterest": { - "base": "

Specifies a location within the frame that Rekognition checks for objects of interest such as text, labels, or faces. It uses a BoundingBox or object or Polygon to set a region of the screen.

A word, face, or label is included in the region if it is more than half in that region. If there is more than one region, the word, face, or label is compared with all regions of the screen. Any object of interest that is more than half in a region is kept in the results.

", + "base": "

Specifies a location within the frame that Rekognition checks for objects of interest such as text, labels, or faces. It uses a BoundingBox or Polygon to set a region of the screen.

A word, face, or label is included in the region if it is more than half in that region. If there is more than one region, the word, face, or label is compared with all regions of the screen. Any object of interest that is more than half in a region is kept in the results.

", "refs": { "RegionsOfInterest$member": null } @@ -1922,7 +1924,7 @@ "RegionsOfInterest": { "base": null, "refs": { - "CreateStreamProcessorRequest$RegionsOfInterest": "

Specifies locations in the frames where Amazon Rekognition checks for objects or people. You can specify up to 10 regions of interest. This is an optional parameter for label detection stream processors and should not be used to create a face search stream processor.

", + "CreateStreamProcessorRequest$RegionsOfInterest": "

Specifies locations in the frames where Amazon Rekognition checks for objects or people. You can specify up to 10 regions of interest, and each region has either a polygon or a bounding box. This is an optional parameter for label detection stream processors and should not be used to create a face search stream processor.

", "DescribeStreamProcessorResponse$RegionsOfInterest": "

Specifies locations in the frames where Amazon Rekognition checks for objects or people. This is an optional parameter for label detection stream processors.

", "DetectTextFilters$RegionsOfInterest": "

A Filter focusing on a certain area of the image. Uses a BoundingBox object to set the region of the image.

", "StartTextDetectionFilters$RegionsOfInterest": "

Filter focusing on a certain area of the frame. Uses a BoundingBox object to set the region of the screen.

", diff --git a/models/apis/securityhub/2018-10-26/docs-2.json b/models/apis/securityhub/2018-10-26/docs-2.json index 92a619a71b3..1fd0eb27f7f 100644 --- a/models/apis/securityhub/2018-10-26/docs-2.json +++ b/models/apis/securityhub/2018-10-26/docs-2.json @@ -3012,7 +3012,7 @@ } }, "AwsWafRegionalRuleGroupRulesActionDetails": { - "base": "

Describes the action that AWS WAF should take on a web request when it matches the criteria defined in the rule.

", + "base": "

Describes the action that WAF should take on a web request when it matches the criteria defined in the rule.

", "refs": { "AwsWafRegionalRuleGroupRulesDetails$Action": "

The action that WAF should take on a web request when it matches the criteria defined in the rule.

" } @@ -3056,7 +3056,7 @@ "AwsWafRegionalWebAclRulesListActionDetails": { "base": "

The action that WAF takes when a web request matches all conditions in the rule, such as allow, block, or count the request.

", "refs": { - "AwsWafRegionalWebAclRulesListDetails$Action": "

The action that AWS WAF takes when a web request matches all conditions in the rule, such as allow, block, or count the request.

" + "AwsWafRegionalWebAclRulesListDetails$Action": "

The action that WAF takes when a web request matches all conditions in the rule, such as allow, block, or count the request.

" } }, "AwsWafRegionalWebAclRulesListDetails": { @@ -5621,8 +5621,8 @@ "AwsXrayEncryptionConfigDetails$KeyId": "

The identifier of the KMS key that is used for encryption. Provided if Type is KMS.

", "AwsXrayEncryptionConfigDetails$Status": "

The current status of the encryption configuration. When Status is UPDATING, X-Ray might use both the old and new encryption.

", "AwsXrayEncryptionConfigDetails$Type": "

The type of encryption. KMS indicates that the encryption uses KMS keys. NONE indicates to use the default encryption.

", - "BatchUpdateFindingsUnprocessedFinding$ErrorCode": "

The code associated with the error.

", - "BatchUpdateFindingsUnprocessedFinding$ErrorMessage": "

The message associated with the error.

", + "BatchUpdateFindingsUnprocessedFinding$ErrorCode": "

The code associated with the error. Possible values are:

  • ConcurrentUpdateError - Another process or request attempted to update the finding while this request was being processed

  • DuplicatedFindingIdentifier - The request included two or more findings with the same FindingIdentifier

  • FindingNotFound - The FindingIdentifier included in the request did not match an existing finding

  • FindingSizeExceeded - The finding size was greater than the permissible value of 240 KB

  • InternalFailure - An internal service failure occurred when updating the finding

  • InvalidInput - The finding update contained an invalid value that did not satisfy the Amazon Web Services Security Finding Format syntax

", + "BatchUpdateFindingsUnprocessedFinding$ErrorMessage": "

The message associated with the error. Possible values are:

  • Concurrent finding updates detected

  • Finding Identifier is duplicated

  • Finding Not Found

  • Finding size exceeded 240 KB

  • Internal service failure

  • Invalid Input

", "CategoryList$member": null, "Cell$ColumnName": "

The name of the column that contains the data.

", "Cell$CellReference": "

For a Microsoft Excel workbook, provides the location of the cell, as an absolute cell reference, that contains the data. For example, Sheet2!C5 for cell C5 on Sheet2.

", diff --git a/models/apis/transfer/2018-11-05/api-2.json b/models/apis/transfer/2018-11-05/api-2.json index 6631bde12df..c2bc3c6bff0 100644 --- a/models/apis/transfer/2018-11-05/api-2.json +++ b/models/apis/transfer/2018-11-05/api-2.json @@ -30,6 +30,53 @@ {"shape":"ResourceNotFoundException"} ] }, + "CreateAgreement":{ + "name":"CreateAgreement", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateAgreementRequest"}, + "output":{"shape":"CreateAgreementResponse"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceExistsException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "CreateConnector":{ + "name":"CreateConnector", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateConnectorRequest"}, + "output":{"shape":"CreateConnectorResponse"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceExistsException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "CreateProfile":{ + "name":"CreateProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateProfileRequest"}, + "output":{"shape":"CreateProfileResponse"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "CreateServer":{ "name":"CreateServer", "http":{ @@ -95,6 +142,62 @@ {"shape":"ResourceNotFoundException"} ] }, + "DeleteAgreement":{ + "name":"DeleteAgreement", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteAgreementRequest"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "DeleteCertificate":{ + "name":"DeleteCertificate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteCertificateRequest"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "DeleteConnector":{ + "name":"DeleteConnector", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteConnectorRequest"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "DeleteProfile":{ + "name":"DeleteProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteProfileRequest"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "DeleteServer":{ "name":"DeleteServer", "http":{ @@ -169,6 +272,51 @@ {"shape":"ResourceNotFoundException"} ] }, + "DescribeAgreement":{ + "name":"DescribeAgreement", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeAgreementRequest"}, + "output":{"shape":"DescribeAgreementResponse"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "DescribeCertificate":{ + "name":"DescribeCertificate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeCertificateRequest"}, + "output":{"shape":"DescribeCertificateResponse"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "DescribeConnector":{ + "name":"DescribeConnector", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeConnectorRequest"}, + "output":{"shape":"DescribeConnectorResponse"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "DescribeExecution":{ "name":"DescribeExecution", "http":{ @@ -184,6 +332,21 @@ {"shape":"ResourceNotFoundException"} ] }, + "DescribeProfile":{ + "name":"DescribeProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeProfileRequest"}, + "output":{"shape":"DescribeProfileResponse"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "DescribeSecurityPolicy":{ "name":"DescribeSecurityPolicy", "http":{ @@ -244,6 +407,21 @@ {"shape":"ResourceNotFoundException"} ] }, + "ImportCertificate":{ + "name":"ImportCertificate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ImportCertificateRequest"}, + "output":{"shape":"ImportCertificateResponse"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "ImportSshPublicKey":{ "name":"ImportSshPublicKey", "http":{ @@ -277,6 +455,54 @@ {"shape":"ResourceNotFoundException"} ] }, + "ListAgreements":{ + "name":"ListAgreements", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListAgreementsRequest"}, + "output":{"shape":"ListAgreementsResponse"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "ListCertificates":{ + "name":"ListCertificates", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListCertificatesRequest"}, + "output":{"shape":"ListCertificatesResponse"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "ListConnectors":{ + "name":"ListConnectors", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListConnectorsRequest"}, + "output":{"shape":"ListConnectorsResponse"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "ListExecutions":{ "name":"ListExecutions", "http":{ @@ -293,6 +519,22 @@ {"shape":"ResourceNotFoundException"} ] }, + "ListProfiles":{ + "name":"ListProfiles", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListProfilesRequest"}, + "output":{"shape":"ListProfilesResponse"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "ListSecurityPolicies":{ "name":"ListSecurityPolicies", "http":{ @@ -386,6 +628,22 @@ {"shape":"ThrottlingException"} ] }, + "StartFileTransfer":{ + "name":"StartFileTransfer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartFileTransferRequest"}, + "output":{"shape":"StartFileTransferResponse"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ] + }, "StartServer":{ "name":"StartServer", "http":{ @@ -475,6 +733,68 @@ {"shape":"ResourceNotFoundException"} ] }, + "UpdateAgreement":{ + "name":"UpdateAgreement", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateAgreementRequest"}, + "output":{"shape":"UpdateAgreementResponse"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceExistsException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "UpdateCertificate":{ + "name":"UpdateCertificate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateCertificateRequest"}, + "output":{"shape":"UpdateCertificateResponse"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "UpdateConnector":{ + "name":"UpdateConnector", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateConnectorRequest"}, + "output":{"shape":"UpdateConnectorResponse"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceExistsException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "UpdateProfile":{ + "name":"UpdateProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateProfileRequest"}, + "output":{"shape":"UpdateProfileResponse"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "UpdateServer":{ "name":"UpdateServer", "http":{ @@ -525,22 +845,124 @@ "type":"list", "member":{"shape":"AddressAllocationId"} }, + "AgreementId":{ + "type":"string", + "max":19, + "min":19, + "pattern":"^a-([0-9a-f]{17})$" + }, + "AgreementStatusType":{ + "type":"string", + "enum":[ + "ACTIVE", + "INACTIVE" + ] + }, "Arn":{ "type":"string", "max":1600, "min":20, "pattern":"arn:.*" }, + "As2ConnectorConfig":{ + "type":"structure", + "members":{ + "LocalProfileId":{"shape":"ProfileId"}, + "PartnerProfileId":{"shape":"ProfileId"}, + "MessageSubject":{"shape":"MessageSubject"}, + "Compression":{"shape":"CompressionEnum"}, + "EncryptionAlgorithm":{"shape":"EncryptionAlg"}, + "SigningAlgorithm":{"shape":"SigningAlg"}, + "MdnSigningAlgorithm":{"shape":"MdnSigningAlg"}, + "MdnResponse":{"shape":"MdnResponse"} + } + }, + "As2Id":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[\\p{Print}\\s]*" + }, + "As2Transport":{ + "type":"string", + "enum":["HTTP"] + }, + "As2Transports":{ + "type":"list", + "member":{"shape":"As2Transport"}, + "max":1, + "min":1 + }, "CallbackToken":{ "type":"string", "max":64, "min":1, "pattern":"\\w+" }, + "CertDate":{"type":"timestamp"}, + "CertSerial":{ + "type":"string", + "max":48, + "min":0, + "pattern":"^[\\p{XDigit}{2}:?]*" + }, "Certificate":{ "type":"string", "max":1600 }, + "CertificateBodyType":{ + "type":"string", + "max":16384, + "min":1, + "pattern":"^[\\u0009\\u000A\\u000D\\u0020-\\u00FF]*", + "sensitive":true + }, + "CertificateChainType":{ + "type":"string", + "max":2097152, + "min":1, + "pattern":"^[\\u0009\\u000A\\u000D\\u0020-\\u00FF]*", + "sensitive":true + }, + "CertificateId":{ + "type":"string", + "max":22, + "min":22, + "pattern":"^cert-([0-9a-f]{17})$" + }, + "CertificateIds":{ + "type":"list", + "member":{"shape":"CertificateId"} + }, + "CertificateStatusType":{ + "type":"string", + "enum":[ + "ACTIVE", + "PENDING_ROTATION", + "INACTIVE" + ] + }, + "CertificateType":{ + "type":"string", + "enum":[ + "CERTIFICATE", + "CERTIFICATE_WITH_PRIVATE_KEY" + ] + }, + "CertificateUsageType":{ + "type":"string", + "enum":[ + "SIGNING", + "ENCRYPTION" + ] + }, + "CompressionEnum":{ + "type":"string", + "enum":[ + "ZLIB", + "DISABLED" + ] + }, "ConflictException":{ "type":"structure", "required":["Message"], @@ -549,6 +971,12 @@ }, "exception":true }, + "ConnectorId":{ + "type":"string", + "max":19, + "min":19, + "pattern":"^c-([0-9a-f]{17})$" + }, "CopyStepDetails":{ "type":"structure", "members":{ @@ -587,6 +1015,75 @@ "ExternalId":{"shape":"ExternalId"} } }, + "CreateAgreementRequest":{ + "type":"structure", + "required":[ + "ServerId", + "LocalProfileId", + "PartnerProfileId", + "BaseDirectory", + "AccessRole" + ], + "members":{ + "Description":{"shape":"Description"}, + "ServerId":{"shape":"ServerId"}, + "LocalProfileId":{"shape":"ProfileId"}, + "PartnerProfileId":{"shape":"ProfileId"}, + "BaseDirectory":{"shape":"HomeDirectory"}, + "AccessRole":{"shape":"Role"}, + "Status":{"shape":"AgreementStatusType"}, + "Tags":{"shape":"Tags"} + } + }, + "CreateAgreementResponse":{ + "type":"structure", + "required":["AgreementId"], + "members":{ + "AgreementId":{"shape":"AgreementId"} + } + }, + "CreateConnectorRequest":{ + "type":"structure", + "required":[ + "Url", + "As2Config", + "AccessRole" + ], + "members":{ + "Url":{"shape":"Url"}, + "As2Config":{"shape":"As2ConnectorConfig"}, + "AccessRole":{"shape":"Role"}, + "LoggingRole":{"shape":"Role"}, + "Tags":{"shape":"Tags"} + } + }, + "CreateConnectorResponse":{ + "type":"structure", + "required":["ConnectorId"], + "members":{ + "ConnectorId":{"shape":"ConnectorId"} + } + }, + "CreateProfileRequest":{ + "type":"structure", + "required":[ + "As2Id", + "ProfileType" + ], + "members":{ + "As2Id":{"shape":"As2Id"}, + "ProfileType":{"shape":"ProfileType"}, + "CertificateIds":{"shape":"CertificateIds"}, + "Tags":{"shape":"Tags"} + } + }, + "CreateProfileResponse":{ + "type":"structure", + "required":["ProfileId"], + "members":{ + "ProfileId":{"shape":"ProfileId"} + } + }, "CreateServerRequest":{ "type":"structure", "members":{ @@ -688,16 +1185,48 @@ "max":1800, "min":1 }, - "DateImported":{"type":"timestamp"}, - "DeleteAccessRequest":{ + "DateImported":{"type":"timestamp"}, + "DeleteAccessRequest":{ + "type":"structure", + "required":[ + "ServerId", + "ExternalId" + ], + "members":{ + "ServerId":{"shape":"ServerId"}, + "ExternalId":{"shape":"ExternalId"} + } + }, + "DeleteAgreementRequest":{ + "type":"structure", + "required":[ + "AgreementId", + "ServerId" + ], + "members":{ + "AgreementId":{"shape":"AgreementId"}, + "ServerId":{"shape":"ServerId"} + } + }, + "DeleteCertificateRequest":{ + "type":"structure", + "required":["CertificateId"], + "members":{ + "CertificateId":{"shape":"CertificateId"} + } + }, + "DeleteConnectorRequest":{ + "type":"structure", + "required":["ConnectorId"], + "members":{ + "ConnectorId":{"shape":"ConnectorId"} + } + }, + "DeleteProfileRequest":{ "type":"structure", - "required":[ - "ServerId", - "ExternalId" - ], + "required":["ProfileId"], "members":{ - "ServerId":{"shape":"ServerId"}, - "ExternalId":{"shape":"ExternalId"} + "ProfileId":{"shape":"ProfileId"} } }, "DeleteServerRequest":{ @@ -767,6 +1296,52 @@ "Access":{"shape":"DescribedAccess"} } }, + "DescribeAgreementRequest":{ + "type":"structure", + "required":[ + "AgreementId", + "ServerId" + ], + "members":{ + "AgreementId":{"shape":"AgreementId"}, + "ServerId":{"shape":"ServerId"} + } + }, + "DescribeAgreementResponse":{ + "type":"structure", + "required":["Agreement"], + "members":{ + "Agreement":{"shape":"DescribedAgreement"} + } + }, + "DescribeCertificateRequest":{ + "type":"structure", + "required":["CertificateId"], + "members":{ + "CertificateId":{"shape":"CertificateId"} + } + }, + "DescribeCertificateResponse":{ + "type":"structure", + "required":["Certificate"], + "members":{ + "Certificate":{"shape":"DescribedCertificate"} + } + }, + "DescribeConnectorRequest":{ + "type":"structure", + "required":["ConnectorId"], + "members":{ + "ConnectorId":{"shape":"ConnectorId"} + } + }, + "DescribeConnectorResponse":{ + "type":"structure", + "required":["Connector"], + "members":{ + "Connector":{"shape":"DescribedConnector"} + } + }, "DescribeExecutionRequest":{ "type":"structure", "required":[ @@ -789,6 +1364,20 @@ "Execution":{"shape":"DescribedExecution"} } }, + "DescribeProfileRequest":{ + "type":"structure", + "required":["ProfileId"], + "members":{ + "ProfileId":{"shape":"ProfileId"} + } + }, + "DescribeProfileResponse":{ + "type":"structure", + "required":["Profile"], + "members":{ + "Profile":{"shape":"DescribedProfile"} + } + }, "DescribeSecurityPolicyRequest":{ "type":"structure", "required":["SecurityPolicyName"], @@ -865,6 +1454,55 @@ "ExternalId":{"shape":"ExternalId"} } }, + "DescribedAgreement":{ + "type":"structure", + "required":["Arn"], + "members":{ + "Arn":{"shape":"Arn"}, + "AgreementId":{"shape":"AgreementId"}, + "Description":{"shape":"Description"}, + "Status":{"shape":"AgreementStatusType"}, + "ServerId":{"shape":"ServerId"}, + "LocalProfileId":{"shape":"ProfileId"}, + "PartnerProfileId":{"shape":"ProfileId"}, + "BaseDirectory":{"shape":"HomeDirectory"}, + "AccessRole":{"shape":"Role"}, + "Tags":{"shape":"Tags"} + } + }, + "DescribedCertificate":{ + "type":"structure", + "required":["Arn"], + "members":{ + "Arn":{"shape":"Arn"}, + "CertificateId":{"shape":"CertificateId"}, + "Usage":{"shape":"CertificateUsageType"}, + "Status":{"shape":"CertificateStatusType"}, + "Certificate":{"shape":"CertificateBodyType"}, + "CertificateChain":{"shape":"CertificateChainType"}, + "ActiveDate":{"shape":"CertDate"}, + "InactiveDate":{"shape":"CertDate"}, + "Serial":{"shape":"CertSerial"}, + "NotBeforeDate":{"shape":"CertDate"}, + "NotAfterDate":{"shape":"CertDate"}, + "Type":{"shape":"CertificateType"}, + "Description":{"shape":"Description"}, + "Tags":{"shape":"Tags"} + } + }, + "DescribedConnector":{ + "type":"structure", + "required":["Arn"], + "members":{ + "Arn":{"shape":"Arn"}, + "ConnectorId":{"shape":"ConnectorId"}, + "Url":{"shape":"Url"}, + "As2Config":{"shape":"As2ConnectorConfig"}, + "AccessRole":{"shape":"Role"}, + "LoggingRole":{"shape":"Role"}, + "Tags":{"shape":"Tags"} + } + }, "DescribedExecution":{ "type":"structure", "members":{ @@ -878,6 +1516,18 @@ "Results":{"shape":"ExecutionResults"} } }, + "DescribedProfile":{ + "type":"structure", + "required":["Arn"], + "members":{ + "Arn":{"shape":"Arn"}, + "ProfileId":{"shape":"ProfileId"}, + "ProfileType":{"shape":"ProfileType"}, + "As2Id":{"shape":"As2Id"}, + "CertificateIds":{"shape":"CertificateIds"}, + "Tags":{"shape":"Tags"} + } + }, "DescribedSecurityPolicy":{ "type":"structure", "required":["SecurityPolicyName"], @@ -943,6 +1593,12 @@ "Tags":{"shape":"Tags"} } }, + "Description":{ + "type":"string", + "max":200, + "min":1, + "pattern":"^[\\p{Graph}]+" + }, "DirectoryId":{ "type":"string", "max":12, @@ -974,6 +1630,14 @@ "min":1, "pattern":"^[^\\x00]+$" }, + "EncryptionAlg":{ + "type":"string", + "enum":[ + "AES128_CBC", + "AES192_CBC", + "AES256_CBC" + ] + }, "EndpointDetails":{ "type":"structure", "members":{ @@ -1066,6 +1730,18 @@ "EfsFileLocation":{"shape":"EfsFileLocation"} } }, + "FilePath":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"^(.)+" + }, + "FilePaths":{ + "type":"list", + "member":{"shape":"FilePath"}, + "max":10, + "min":1 + }, "Fips":{"type":"boolean"}, "Function":{ "type":"string", @@ -1126,6 +1802,30 @@ "AWS_LAMBDA" ] }, + "ImportCertificateRequest":{ + "type":"structure", + "required":[ + "Usage", + "Certificate" + ], + "members":{ + "Usage":{"shape":"CertificateUsageType"}, + "Certificate":{"shape":"CertificateBodyType"}, + "CertificateChain":{"shape":"CertificateChainType"}, + "PrivateKey":{"shape":"PrivateKeyType"}, + "ActiveDate":{"shape":"CertDate"}, + "InactiveDate":{"shape":"CertDate"}, + "Description":{"shape":"Description"}, + "Tags":{"shape":"Tags"} + } + }, + "ImportCertificateResponse":{ + "type":"structure", + "required":["CertificateId"], + "members":{ + "CertificateId":{"shape":"CertificateId"} + } + }, "ImportSshPublicKeyRequest":{ "type":"structure", "required":[ @@ -1205,6 +1905,53 @@ "Accesses":{"shape":"ListedAccesses"} } }, + "ListAgreementsRequest":{ + "type":"structure", + "required":["ServerId"], + "members":{ + "MaxResults":{"shape":"MaxResults"}, + "NextToken":{"shape":"NextToken"}, + "ServerId":{"shape":"ServerId"} + } + }, + "ListAgreementsResponse":{ + "type":"structure", + "required":["Agreements"], + "members":{ + "NextToken":{"shape":"NextToken"}, + "Agreements":{"shape":"ListedAgreements"} + } + }, + "ListCertificatesRequest":{ + "type":"structure", + "members":{ + "MaxResults":{"shape":"MaxResults"}, + "NextToken":{"shape":"NextToken"} + } + }, + "ListCertificatesResponse":{ + "type":"structure", + "required":["Certificates"], + "members":{ + "NextToken":{"shape":"NextToken"}, + "Certificates":{"shape":"ListedCertificates"} + } + }, + "ListConnectorsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{"shape":"MaxResults"}, + "NextToken":{"shape":"NextToken"} + } + }, + "ListConnectorsResponse":{ + "type":"structure", + "required":["Connectors"], + "members":{ + "NextToken":{"shape":"NextToken"}, + "Connectors":{"shape":"ListedConnectors"} + } + }, "ListExecutionsRequest":{ "type":"structure", "required":["WorkflowId"], @@ -1226,6 +1973,22 @@ "Executions":{"shape":"ListedExecutions"} } }, + "ListProfilesRequest":{ + "type":"structure", + "members":{ + "MaxResults":{"shape":"MaxResults"}, + "NextToken":{"shape":"NextToken"}, + "ProfileType":{"shape":"ProfileType"} + } + }, + "ListProfilesResponse":{ + "type":"structure", + "required":["Profiles"], + "members":{ + "NextToken":{"shape":"NextToken"}, + "Profiles":{"shape":"ListedProfiles"} + } + }, "ListSecurityPoliciesRequest":{ "type":"structure", "members":{ @@ -1322,6 +2085,51 @@ "type":"list", "member":{"shape":"ListedAccess"} }, + "ListedAgreement":{ + "type":"structure", + "members":{ + "Arn":{"shape":"Arn"}, + "AgreementId":{"shape":"AgreementId"}, + "Description":{"shape":"Description"}, + "Status":{"shape":"AgreementStatusType"}, + "ServerId":{"shape":"ServerId"}, + "LocalProfileId":{"shape":"ProfileId"}, + "PartnerProfileId":{"shape":"ProfileId"} + } + }, + "ListedAgreements":{ + "type":"list", + "member":{"shape":"ListedAgreement"} + }, + "ListedCertificate":{ + "type":"structure", + "members":{ + "Arn":{"shape":"Arn"}, + "CertificateId":{"shape":"CertificateId"}, + "Usage":{"shape":"CertificateUsageType"}, + "Status":{"shape":"CertificateStatusType"}, + "ActiveDate":{"shape":"CertDate"}, + "InactiveDate":{"shape":"CertDate"}, + "Type":{"shape":"CertificateType"}, + "Description":{"shape":"Description"} + } + }, + "ListedCertificates":{ + "type":"list", + "member":{"shape":"ListedCertificate"} + }, + "ListedConnector":{ + "type":"structure", + "members":{ + "Arn":{"shape":"Arn"}, + "ConnectorId":{"shape":"ConnectorId"}, + "Url":{"shape":"Url"} + } + }, + "ListedConnectors":{ + "type":"list", + "member":{"shape":"ListedConnector"} + }, "ListedExecution":{ "type":"structure", "members":{ @@ -1335,6 +2143,19 @@ "type":"list", "member":{"shape":"ListedExecution"} }, + "ListedProfile":{ + "type":"structure", + "members":{ + "Arn":{"shape":"Arn"}, + "ProfileId":{"shape":"ProfileId"}, + "As2Id":{"shape":"As2Id"}, + "ProfileType":{"shape":"ProfileType"} + } + }, + "ListedProfiles":{ + "type":"list", + "member":{"shape":"ListedProfile"} + }, "ListedServer":{ "type":"structure", "required":["Arn"], @@ -1409,7 +2230,31 @@ "max":1000, "min":1 }, + "MdnResponse":{ + "type":"string", + "enum":[ + "SYNC", + "NONE" + ] + }, + "MdnSigningAlg":{ + "type":"string", + "enum":[ + "SHA256", + "SHA384", + "SHA512", + "SHA1", + "NONE", + "DEFAULT" + ] + }, "Message":{"type":"string"}, + "MessageSubject":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"^[\\p{Print}\\p{Blank}]+" + }, "NextToken":{ "type":"string", "max":6144, @@ -1467,12 +2312,33 @@ "max":512, "pattern":"[\\x09-\\x0D\\x20-\\x7E]*" }, + "PrivateKeyType":{ + "type":"string", + "max":16384, + "min":1, + "pattern":"^[\\u0009\\u000A\\u000D\\u0020-\\u00FF]*", + "sensitive":true + }, + "ProfileId":{ + "type":"string", + "max":19, + "min":19, + "pattern":"^p-([0-9a-f]{17})$" + }, + "ProfileType":{ + "type":"string", + "enum":[ + "LOCAL", + "PARTNER" + ] + }, "Protocol":{ "type":"string", "enum":[ "SFTP", "FTP", - "FTPS" + "FTPS", + "AS2" ] }, "ProtocolDetails":{ @@ -1480,13 +2346,14 @@ "members":{ "PassiveIp":{"shape":"PassiveIp"}, "TlsSessionResumptionMode":{"shape":"TlsSessionResumptionMode"}, - "SetStatOption":{"shape":"SetStatOption"} + "SetStatOption":{"shape":"SetStatOption"}, + "As2Transports":{"shape":"As2Transports"} } }, "Protocols":{ "type":"list", "member":{"shape":"Protocol"}, - "max":3, + "max":4, "min":1 }, "Resource":{"type":"string"}, @@ -1683,6 +2550,16 @@ "ENABLE_NO_OP" ] }, + "SigningAlg":{ + "type":"string", + "enum":[ + "SHA256", + "SHA384", + "SHA512", + "SHA1", + "NONE" + ] + }, "SourceFileLocation":{ "type":"string", "max":256, @@ -1722,6 +2599,24 @@ "member":{"shape":"SshPublicKey"}, "max":5 }, + "StartFileTransferRequest":{ + "type":"structure", + "required":[ + "ConnectorId", + "SendFilePaths" + ], + "members":{ + "ConnectorId":{"shape":"ConnectorId"}, + "SendFilePaths":{"shape":"FilePaths"} + } + }, + "StartFileTransferResponse":{ + "type":"structure", + "required":["TransferId"], + "members":{ + "TransferId":{"shape":"TransferId"} + } + }, "StartServerRequest":{ "type":"structure", "required":["ServerId"], @@ -1849,6 +2744,12 @@ "ENFORCED" ] }, + "TransferId":{ + "type":"string", + "max":512, + "min":1, + "pattern":"^[0-9a-zA-Z./-]+$" + }, "UntagResourceRequest":{ "type":"structure", "required":[ @@ -1888,6 +2789,80 @@ "ExternalId":{"shape":"ExternalId"} } }, + "UpdateAgreementRequest":{ + "type":"structure", + "required":[ + "AgreementId", + "ServerId" + ], + "members":{ + "AgreementId":{"shape":"AgreementId"}, + "ServerId":{"shape":"ServerId"}, + "Description":{"shape":"Description"}, + "Status":{"shape":"AgreementStatusType"}, + "LocalProfileId":{"shape":"ProfileId"}, + "PartnerProfileId":{"shape":"ProfileId"}, + "BaseDirectory":{"shape":"HomeDirectory"}, + "AccessRole":{"shape":"Role"} + } + }, + "UpdateAgreementResponse":{ + "type":"structure", + "required":["AgreementId"], + "members":{ + "AgreementId":{"shape":"AgreementId"} + } + }, + "UpdateCertificateRequest":{ + "type":"structure", + "required":["CertificateId"], + "members":{ + "CertificateId":{"shape":"CertificateId"}, + "ActiveDate":{"shape":"CertDate"}, + "InactiveDate":{"shape":"CertDate"}, + "Description":{"shape":"Description"} + } + }, + "UpdateCertificateResponse":{ + "type":"structure", + "required":["CertificateId"], + "members":{ + "CertificateId":{"shape":"CertificateId"} + } + }, + "UpdateConnectorRequest":{ + "type":"structure", + "required":["ConnectorId"], + "members":{ + "ConnectorId":{"shape":"ConnectorId"}, + "Url":{"shape":"Url"}, + "As2Config":{"shape":"As2ConnectorConfig"}, + "AccessRole":{"shape":"Role"}, + "LoggingRole":{"shape":"Role"} + } + }, + "UpdateConnectorResponse":{ + "type":"structure", + "required":["ConnectorId"], + "members":{ + "ConnectorId":{"shape":"ConnectorId"} + } + }, + "UpdateProfileRequest":{ + "type":"structure", + "required":["ProfileId"], + "members":{ + "ProfileId":{"shape":"ProfileId"}, + "CertificateIds":{"shape":"CertificateIds"} + } + }, + "UpdateProfileResponse":{ + "type":"structure", + "required":["ProfileId"], + "members":{ + "ProfileId":{"shape":"ProfileId"} + } + }, "UpdateServerRequest":{ "type":"structure", "required":["ServerId"], diff --git a/models/apis/transfer/2018-11-05/docs-2.json b/models/apis/transfer/2018-11-05/docs-2.json index f63b5f35f94..f506e53f97d 100644 --- a/models/apis/transfer/2018-11-05/docs-2.json +++ b/models/apis/transfer/2018-11-05/docs-2.json @@ -1,37 +1,58 @@ { "version": "2.0", - "service": "

Amazon Web Services Transfer Family is a fully managed service that enables the transfer of files over the File Transfer Protocol (FTP), File Transfer Protocol over SSL (FTPS), or Secure Shell (SSH) File Transfer Protocol (SFTP) directly into and out of Amazon Simple Storage Service (Amazon S3). Amazon Web Services helps you seamlessly migrate your file transfer workflows to Amazon Web Services Transfer Family by integrating with existing authentication systems, and providing DNS routing with Amazon Route 53 so nothing changes for your customers and partners, or their applications. With your data in Amazon S3, you can use it with Amazon Web Services services for processing, analytics, machine learning, and archiving. Getting started with Amazon Web Services Transfer Family is easy since there is no infrastructure to buy and set up.

", + "service": "

Transfer Family is a fully managed service that enables the transfer of files over the File Transfer Protocol (FTP), File Transfer Protocol over SSL (FTPS), or Secure Shell (SSH) File Transfer Protocol (SFTP) directly into and out of Amazon Simple Storage Service (Amazon S3). Amazon Web Services helps you seamlessly migrate your file transfer workflows to Transfer Family by integrating with existing authentication systems, and providing DNS routing with Amazon Route 53 so nothing changes for your customers and partners, or their applications. With your data in Amazon S3, you can use it with Amazon Web Services for processing, analytics, machine learning, and archiving. Getting started with Transfer Family is easy since there is no infrastructure to buy and set up.

", "operations": { - "CreateAccess": "

Used by administrators to choose which groups in the directory should have access to upload and download files over the enabled protocols using Amazon Web Services Transfer Family. For example, a Microsoft Active Directory might contain 50,000 users, but only a small fraction might need the ability to transfer files to the server. An administrator can use CreateAccess to limit the access to the correct set of users who need this ability.

", + "CreateAccess": "

Used by administrators to choose which groups in the directory should have access to upload and download files over the enabled protocols using Transfer Family. For example, a Microsoft Active Directory might contain 50,000 users, but only a small fraction might need the ability to transfer files to the server. An administrator can use CreateAccess to limit the access to the correct set of users who need this ability.

", + "CreateAgreement": "

Creates an agreement. An agreement is a bilateral trading partner agreement, or partnership, between an Transfer Family server and an AS2 process. The agreement defines the file and message transfer relationship between the server and the AS2 process. To define an agreement, Transfer Family combines a server, local profile, partner profile, certificate, and other attributes.

The partner is identified with the PartnerProfileId, and the AS2 process is identified with the LocalProfileId.

", + "CreateConnector": "

Creates the connector, which captures the parameters for an outbound connection for the AS2 protocol. The connector is required for sending files from a customer's non Amazon Web Services server.

", + "CreateProfile": "

Creates the profile for the AS2 process. The agreement is between the partner and the AS2 process.

", "CreateServer": "

Instantiates an auto-scaling virtual server based on the selected file transfer protocol in Amazon Web Services. When you make updates to your file transfer protocol-enabled server or when you work with users, use the service-generated ServerId property that is assigned to the newly created server.

", - "CreateUser": "

Creates a user and associates them with an existing file transfer protocol-enabled server. You can only create and associate users with servers that have the IdentityProviderType set to SERVICE_MANAGED. Using parameters for CreateUser, you can specify the user name, set the home directory, store the user's public key, and assign the user's Amazon Web Services Identity and Access Management (IAM) role. You can also optionally add a session policy, and assign metadata with tags that can be used to group and search for users.

", + "CreateUser": "

Creates a user and associates them with an existing file transfer protocol-enabled server. You can only create and associate users with servers that have the IdentityProviderType set to SERVICE_MANAGED. Using parameters for CreateUser, you can specify the user name, set the home directory, store the user's public key, and assign the user's Identity and Access Management (IAM) role. You can also optionally add a session policy, and assign metadata with tags that can be used to group and search for users.

", "CreateWorkflow": "

Allows you to create a workflow with specified steps and step details the workflow invokes after file transfer completes. After creating a workflow, you can associate the workflow created with any transfer servers by specifying the workflow-details field in CreateServer and UpdateServer operations.

", "DeleteAccess": "

Allows you to delete the access specified in the ServerID and ExternalID parameters.

", + "DeleteAgreement": "

Delete the agreement that's specified in the provided AgreementId.

", + "DeleteCertificate": "

Deletes the certificate that's specified in the CertificateId parameter.

", + "DeleteConnector": "

Deletes the agreement that's specified in the provided ConnectorId.

", + "DeleteProfile": "

Deletes the profile that's specified in the ProfileId parameter.

", "DeleteServer": "

Deletes the file transfer protocol-enabled server that you specify.

No response returns from this operation.

", "DeleteSshPublicKey": "

Deletes a user's Secure Shell (SSH) public key.

", "DeleteUser": "

Deletes the user belonging to a file transfer protocol-enabled server you specify.

No response returns from this operation.

When you delete a user from a server, the user's information is lost.

", "DeleteWorkflow": "

Deletes the specified workflow.

", - "DescribeAccess": "

Describes the access that is assigned to the specific file transfer protocol-enabled server, as identified by its ServerId property and its ExternalID.

The response from this call returns the properties of the access that is associated with the ServerId value that was specified.

", + "DescribeAccess": "

Describes the access that is assigned to the specific file transfer protocol-enabled server, as identified by its ServerId property and its ExternalId.

The response from this call returns the properties of the access that is associated with the ServerId value that was specified.

", + "DescribeAgreement": "

Describes the agreement that's identified by the AgreementId.

", + "DescribeCertificate": "

Describes the certificate that's identified by the CertificateId.

", + "DescribeConnector": "

Describes the connector that's identified by the ConnectorId.

", "DescribeExecution": "

You can use DescribeExecution to check the details of the execution of the specified workflow.

", + "DescribeProfile": "

Returns the details of the profile that's specified by the ProfileId.

", "DescribeSecurityPolicy": "

Describes the security policy that is attached to your file transfer protocol-enabled server. The response contains a description of the security policy's properties. For more information about security policies, see Working with security policies.

", "DescribeServer": "

Describes a file transfer protocol-enabled server that you specify by passing the ServerId parameter.

The response contains a description of a server's properties. When you set EndpointType to VPC, the response will contain the EndpointDetails.

", "DescribeUser": "

Describes the user assigned to the specific file transfer protocol-enabled server, as identified by its ServerId property.

The response from this call returns the properties of the user associated with the ServerId value that was specified.

", "DescribeWorkflow": "

Describes the specified workflow.

", + "ImportCertificate": "

Imports the signing and encryption certificates that you need to create local (AS2) profiles and partner profiles.

", "ImportSshPublicKey": "

Adds a Secure Shell (SSH) public key to a user account identified by a UserName value assigned to the specific file transfer protocol-enabled server, identified by ServerId.

The response returns the UserName value, the ServerId value, and the name of the SshPublicKeyId.

", "ListAccesses": "

Lists the details for all the accesses you have on your server.

", + "ListAgreements": "

Returns a list of the agreements for the server that's identified by the ServerId that you supply. If you want to limit the results to a certain number, supply a value for the MaxResults parameter. If you ran the command previously and received a value for NextToken, you can supply that value to continue listing agreements from where you left off.

", + "ListCertificates": "

Returns a list of the current certificates that have been imported into Transfer Family. If you want to limit the results to a certain number, supply a value for the MaxResults parameter. If you ran the command previously and received a value for the NextToken parameter, you can supply that value to continue listing certificates from where you left off.

", + "ListConnectors": "

Lists the connectors for the specified Region.

", "ListExecutions": "

Lists all executions for the specified workflow.

", + "ListProfiles": "

Returns a list of the profiles for your system. If you want to limit the results to a certain number, supply a value for the MaxResults parameter. If you ran the command previously and received a value for NextToken, you can supply that value to continue listing profiles from where you left off.

", "ListSecurityPolicies": "

Lists the security policies that are attached to your file transfer protocol-enabled servers.

", "ListServers": "

Lists the file transfer protocol-enabled servers that are associated with your Amazon Web Services account.

", "ListTagsForResource": "

Lists all of the tags associated with the Amazon Resource Name (ARN) that you specify. The resource can be a user, server, or role.

", "ListUsers": "

Lists the users for a file transfer protocol-enabled server that you specify by passing the ServerId parameter.

", "ListWorkflows": "

Lists all of your workflows.

", "SendWorkflowStepState": "

Sends a callback for asynchronous custom steps.

The ExecutionId, WorkflowId, and Token are passed to the target resource during execution of a custom step of a workflow. You must include those with their callback as well as providing a status.

", + "StartFileTransfer": "

Begins an outbound file transfer. You specify the ConnectorId and the file paths for where to send the files.

", "StartServer": "

Changes the state of a file transfer protocol-enabled server from OFFLINE to ONLINE. It has no impact on a server that is already ONLINE. An ONLINE server can accept and process file transfer jobs.

The state of STARTING indicates that the server is in an intermediate state, either not fully able to respond, or not fully online. The values of START_FAILED can indicate an error condition.

No response is returned from this call.

", - "StopServer": "

Changes the state of a file transfer protocol-enabled server from ONLINE to OFFLINE. An OFFLINE server cannot accept and process file transfer jobs. Information tied to your server, such as server and user properties, are not affected by stopping your server.

Stopping the server will not reduce or impact your file transfer protocol endpoint billing; you must delete the server to stop being billed.

The state of STOPPING indicates that the server is in an intermediate state, either not fully able to respond, or not fully offline. The values of STOP_FAILED can indicate an error condition.

No response is returned from this call.

", + "StopServer": "

Changes the state of a file transfer protocol-enabled server from ONLINE to OFFLINE. An OFFLINE server cannot accept and process file transfer jobs. Information tied to your server, such as server and user properties, are not affected by stopping your server.

Stopping the server does not reduce or impact your file transfer protocol endpoint billing; you must delete the server to stop being billed.

The state of STOPPING indicates that the server is in an intermediate state, either not fully able to respond, or not fully offline. The values of STOP_FAILED can indicate an error condition.

No response is returned from this call.

", "TagResource": "

Attaches a key-value pair to a resource, as identified by its Amazon Resource Name (ARN). Resources are users, servers, roles, and other entities.

There is no response returned from this call.

", "TestIdentityProvider": "

If the IdentityProviderType of a file transfer protocol-enabled server is AWS_DIRECTORY_SERVICE or API_Gateway, tests whether your identity provider is set up successfully. We highly recommend that you call this operation to test your authentication method as soon as you create your server. By doing so, you can troubleshoot issues with the identity provider integration to ensure that your users can successfully use the service.

The ServerId and UserName parameters are required. The ServerProtocol, SourceIp, and UserPassword are all optional.

You cannot use TestIdentityProvider if the IdentityProviderType of your server is SERVICE_MANAGED.

  • If you provide any incorrect values for any parameters, the Response field is empty.

  • If you provide a server ID for a server that uses service-managed users, you get an error:

    An error occurred (InvalidRequestException) when calling the TestIdentityProvider operation: s-server-ID not configured for external auth

  • If you enter a Server ID for the --server-id parameter that does not identify an actual Transfer server, you receive the following error:

    An error occurred (ResourceNotFoundException) when calling the TestIdentityProvider operation: Unknown server

", "UntagResource": "

Detaches a key-value pair from a resource, as identified by its Amazon Resource Name (ARN). Resources are users, servers, roles, and other entities.

No response is returned from this call.

", "UpdateAccess": "

Allows you to update parameters for the access specified in the ServerID and ExternalID parameters.

", + "UpdateAgreement": "

Updates some of the parameters for an existing agreement. Provide the AgreementId and the ServerId for the agreement that you want to update, along with the new values for the parameters to update.

", + "UpdateCertificate": "

Updates the active and inactive dates for a certificate.

", + "UpdateConnector": "

Updates some of the parameters for an existing connector. Provide the ConnectorId for the connector that you want to update, along with the new values for the parameters to update.

", + "UpdateProfile": "

Updates some of the parameters for an existing profile. Provide the ProfileId for the profile that you want to update, along with the new values for the parameters to update.

", "UpdateServer": "

Updates the file transfer protocol-enabled server's properties after that server has been created.

The UpdateServer call returns the ServerId of the server you updated.

", "UpdateUser": "

Assigns new properties to a user. Parameters you pass modify any or all of the following: the home directory, role, and policy for the UserName and ServerId you specify.

The response returns the ServerId and the UserName for the updated user.

" }, @@ -53,14 +74,43 @@ "EndpointDetails$AddressAllocationIds": "

A list of address allocation IDs that are required to attach an Elastic IP address to your server's endpoint.

This property can only be set when EndpointType is set to VPC and it is only valid in the UpdateServer API.

" } }, + "AgreementId": { + "base": null, + "refs": { + "CreateAgreementResponse$AgreementId": "

The unique identifier for the agreement. Use this ID for deleting, or updating an agreement, as well as in any other API calls that require that you specify the agreement ID.

", + "DeleteAgreementRequest$AgreementId": "

A unique identifier for the agreement. This identifier is returned when you create an agreement.

", + "DescribeAgreementRequest$AgreementId": "

A unique identifier for the agreement. This identifier is returned when you create an agreement.

", + "DescribedAgreement$AgreementId": "

A unique identifier for the agreement. This identifier is returned when you create an agreement.

", + "ListedAgreement$AgreementId": "

A unique identifier for the agreement. This identifier is returned when you create an agreement.

", + "UpdateAgreementRequest$AgreementId": "

A unique identifier for the agreement. This identifier is returned when you create an agreement.

", + "UpdateAgreementResponse$AgreementId": "

A unique identifier for the agreement. This identifier is returned when you create an agreement.

" + } + }, + "AgreementStatusType": { + "base": null, + "refs": { + "CreateAgreementRequest$Status": "

The status of the agreement. The agreement can be either ACTIVE or INACTIVE.

", + "DescribedAgreement$Status": "

The current status of the agreement, either ACTIVE or INACTIVE.

", + "ListedAgreement$Status": "

The agreement can be either ACTIVE or INACTIVE.

", + "UpdateAgreementRequest$Status": "

You can update the status for the agreement, either activating an inactive agreement or the reverse.

" + } + }, "Arn": { "base": null, "refs": { + "DescribedAgreement$Arn": "

The unique Amazon Resource Name (ARN) for the agreement.

", + "DescribedCertificate$Arn": "

The unique Amazon Resource Name (ARN) for the certificate.

", + "DescribedConnector$Arn": "

The unique Amazon Resource Name (ARN) for the connector.

", + "DescribedProfile$Arn": "

The unique Amazon Resource Name (ARN) for the profile.

", "DescribedServer$Arn": "

Specifies the unique Amazon Resource Name (ARN) of the server.

", "DescribedUser$Arn": "

Specifies the unique Amazon Resource Name (ARN) for the user that was requested to be described.

", "DescribedWorkflow$Arn": "

Specifies the unique Amazon Resource Name (ARN) for the workflow.

", "ListTagsForResourceRequest$Arn": "

Requests the tags associated with a particular Amazon Resource Name (ARN). An ARN is an identifier for a specific Amazon Web Services resource, such as a server, user, or role.

", "ListTagsForResourceResponse$Arn": "

The ARN you specified to list the tags of.

", + "ListedAgreement$Arn": "

The Amazon Resource Name (ARN) of the specified agreement.

", + "ListedCertificate$Arn": "

The Amazon Resource Name (ARN) of the specified certificate.

", + "ListedConnector$Arn": "

The Amazon Resource Name (ARN) of the specified connector.

", + "ListedProfile$Arn": "

The Amazon Resource Name (ARN) of the specified profile.

", "ListedServer$Arn": "

Specifies the unique Amazon Resource Name (ARN) for a server to be listed.

", "ListedUser$Arn": "

Provides the unique Amazon Resource Name (ARN) for the user that you want to learn about.

", "ListedWorkflow$Arn": "

Specifies the unique Amazon Resource Name (ARN) for the workflow.

", @@ -68,25 +118,150 @@ "UntagResourceRequest$Arn": "

The value of the resource that will have the tag removed. An Amazon Resource Name (ARN) is an identifier for a specific Amazon Web Services resource, such as a server, user, or role.

" } }, + "As2ConnectorConfig": { + "base": "

Contains the details for a connector object. The connector object is used for AS2 outbound processes, to connect the Transfer Family customer with the trading partner.

", + "refs": { + "CreateConnectorRequest$As2Config": "

A structure that contains the parameters for a connector object.

", + "DescribedConnector$As2Config": "

A structure that contains the parameters for a connector object.

", + "UpdateConnectorRequest$As2Config": "

A structure that contains the parameters for a connector object.

" + } + }, + "As2Id": { + "base": null, + "refs": { + "CreateProfileRequest$As2Id": "

The As2Id is the AS2-name, as defined in the defined in the RFC 4130. For inbound transfers, this is the AS2-From header for the AS2 messages sent from the partner. For outbound connectors, this is the AS2-To header for the AS2 messages sent to the partner using the StartFileTransfer API operation. This ID cannot include spaces.

", + "DescribedProfile$As2Id": "

The unique identifier for the AS2 process.

", + "ListedProfile$As2Id": "

The unique identifier for the AS2 process.

" + } + }, + "As2Transport": { + "base": null, + "refs": { + "As2Transports$member": null + } + }, + "As2Transports": { + "base": null, + "refs": { + "ProtocolDetails$As2Transports": "

Indicates the transport method for the AS2 messages. Currently, only HTTP is supported.

" + } + }, "CallbackToken": { "base": null, "refs": { "SendWorkflowStepStateRequest$Token": "

Used to distinguish between multiple callbacks for multiple Lambda steps within the same execution.

" } }, + "CertDate": { + "base": null, + "refs": { + "DescribedCertificate$ActiveDate": "

An optional date that specifies when the certificate becomes active.

", + "DescribedCertificate$InactiveDate": "

An optional date that specifies when the certificate becomes inactive.

", + "DescribedCertificate$NotBeforeDate": "

The earliest date that the certificate is valid.

", + "DescribedCertificate$NotAfterDate": "

The final date that the certificate is valid.

", + "ImportCertificateRequest$ActiveDate": "

An optional date that specifies when the certificate becomes active.

", + "ImportCertificateRequest$InactiveDate": "

An optional date that specifies when the certificate becomes inactive.

", + "ListedCertificate$ActiveDate": "

An optional date that specifies when the certificate becomes active.

", + "ListedCertificate$InactiveDate": "

An optional date that specifies when the certificate becomes inactive.

", + "UpdateCertificateRequest$ActiveDate": "

An optional date that specifies when the certificate becomes active.

", + "UpdateCertificateRequest$InactiveDate": "

An optional date that specifies when the certificate becomes inactive.

" + } + }, + "CertSerial": { + "base": null, + "refs": { + "DescribedCertificate$Serial": "

The serial number for the certificate.

" + } + }, "Certificate": { "base": null, "refs": { - "CreateServerRequest$Certificate": "

The Amazon Resource Name (ARN) of the Amazon Web Services Certificate Manager (ACM) certificate. Required when Protocols is set to FTPS.

To request a new public certificate, see Request a public certificate in the Amazon Web Services Certificate Manager User Guide.

To import an existing certificate into ACM, see Importing certificates into ACM in the Amazon Web Services Certificate Manager User Guide.

To request a private certificate to use FTPS through private IP addresses, see Request a private certificate in the Amazon Web Services Certificate Manager User Guide.

Certificates with the following cryptographic algorithms and key sizes are supported:

  • 2048-bit RSA (RSA_2048)

  • 4096-bit RSA (RSA_4096)

  • Elliptic Prime Curve 256 bit (EC_prime256v1)

  • Elliptic Prime Curve 384 bit (EC_secp384r1)

  • Elliptic Prime Curve 521 bit (EC_secp521r1)

The certificate must be a valid SSL/TLS X.509 version 3 certificate with FQDN or IP address specified and information about the issuer.

", + "CreateServerRequest$Certificate": "

The Amazon Resource Name (ARN) of the Certificate Manager (ACM) certificate. Required when Protocols is set to FTPS.

To request a new public certificate, see Request a public certificate in the Certificate Manager User Guide.

To import an existing certificate into ACM, see Importing certificates into ACM in the Certificate Manager User Guide.

To request a private certificate to use FTPS through private IP addresses, see Request a private certificate in the Certificate Manager User Guide.

Certificates with the following cryptographic algorithms and key sizes are supported:

  • 2048-bit RSA (RSA_2048)

  • 4096-bit RSA (RSA_4096)

  • Elliptic Prime Curve 256 bit (EC_prime256v1)

  • Elliptic Prime Curve 384 bit (EC_secp384r1)

  • Elliptic Prime Curve 521 bit (EC_secp521r1)

The certificate must be a valid SSL/TLS X.509 version 3 certificate with FQDN or IP address specified and information about the issuer.

", "DescribedServer$Certificate": "

Specifies the ARN of the Amazon Web ServicesCertificate Manager (ACM) certificate. Required when Protocols is set to FTPS.

", "UpdateServerRequest$Certificate": "

The Amazon Resource Name (ARN) of the Amazon Web ServicesCertificate Manager (ACM) certificate. Required when Protocols is set to FTPS.

To request a new public certificate, see Request a public certificate in the Amazon Web ServicesCertificate Manager User Guide.

To import an existing certificate into ACM, see Importing certificates into ACM in the Amazon Web ServicesCertificate Manager User Guide.

To request a private certificate to use FTPS through private IP addresses, see Request a private certificate in the Amazon Web ServicesCertificate Manager User Guide.

Certificates with the following cryptographic algorithms and key sizes are supported:

  • 2048-bit RSA (RSA_2048)

  • 4096-bit RSA (RSA_4096)

  • Elliptic Prime Curve 256 bit (EC_prime256v1)

  • Elliptic Prime Curve 384 bit (EC_secp384r1)

  • Elliptic Prime Curve 521 bit (EC_secp521r1)

The certificate must be a valid SSL/TLS X.509 version 3 certificate with FQDN or IP address specified and information about the issuer.

" } }, + "CertificateBodyType": { + "base": null, + "refs": { + "DescribedCertificate$Certificate": "

The file name for the certificate.

", + "ImportCertificateRequest$Certificate": "

The file that contains the certificate to import.

" + } + }, + "CertificateChainType": { + "base": null, + "refs": { + "DescribedCertificate$CertificateChain": "

The list of certificates that make up the chain for the certificate.

", + "ImportCertificateRequest$CertificateChain": "

An optional list of certificates that make up the chain for the certificate that's being imported.

" + } + }, + "CertificateId": { + "base": null, + "refs": { + "CertificateIds$member": null, + "DeleteCertificateRequest$CertificateId": "

The ID of the certificate object that you are deleting.

", + "DescribeCertificateRequest$CertificateId": "

An array of identifiers for the imported certificates. You use this identifier for working with profiles and partner profiles.

", + "DescribedCertificate$CertificateId": "

An array of identifiers for the imported certificates. You use this identifier for working with profiles and partner profiles.

", + "ImportCertificateResponse$CertificateId": "

An array of identifiers for the imported certificates. You use this identifier for working with profiles and partner profiles.

", + "ListedCertificate$CertificateId": "

An array of identifiers for the imported certificates. You use this identifier for working with profiles and partner profiles.

", + "UpdateCertificateRequest$CertificateId": "

The identifier of the certificate object that you are updating.

", + "UpdateCertificateResponse$CertificateId": "

Returns the identifier of the certificate object that you are updating.

" + } + }, + "CertificateIds": { + "base": null, + "refs": { + "CreateProfileRequest$CertificateIds": "

An array of identifiers for the imported certificates. You use this identifier for working with profiles and partner profiles.

", + "DescribedProfile$CertificateIds": "

An array of identifiers for the imported certificates. You use this identifier for working with profiles and partner profiles.

", + "UpdateProfileRequest$CertificateIds": "

An array of identifiers for the imported certificates. You use this identifier for working with profiles and partner profiles.

" + } + }, + "CertificateStatusType": { + "base": null, + "refs": { + "DescribedCertificate$Status": "

The certificate can be either ACTIVE, PENDING_ROTATION, or INACTIVE. PENDING_ROTATION means that this certificate will replace the current certificate when it expires.

", + "ListedCertificate$Status": "

The certificate can be either ACTIVE, PENDING_ROTATION, or INACTIVE. PENDING_ROTATION means that this certificate will replace the current certificate when it expires.

" + } + }, + "CertificateType": { + "base": null, + "refs": { + "DescribedCertificate$Type": "

If a private key has been specified for the certificate, its type is CERTIFICATE_WITH_PRIVATE_KEY. If there is no private key, the type is CERTIFICATE.

", + "ListedCertificate$Type": "

The type for the certificate. If a private key has been specified for the certificate, its type is CERTIFICATE_WITH_PRIVATE_KEY. If there is no private key, the type is CERTIFICATE.

" + } + }, + "CertificateUsageType": { + "base": null, + "refs": { + "DescribedCertificate$Usage": "

Specifies whether this certificate is used for signing or encryption.

", + "ImportCertificateRequest$Usage": "

Specifies whether this certificate is used for signing or encryption.

", + "ListedCertificate$Usage": "

Specifies whether this certificate is used for signing or encryption.

" + } + }, + "CompressionEnum": { + "base": null, + "refs": { + "As2ConnectorConfig$Compression": "

Specifies whether the AS2 file is compressed.

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

This exception is thrown when the UpdateServer is called for a file transfer protocol-enabled server that has VPC as the endpoint type and the server's VpcEndpointID is not in the available state.

", "refs": { } }, + "ConnectorId": { + "base": null, + "refs": { + "CreateConnectorResponse$ConnectorId": "

The unique identifier for the connector, returned after the API call succeeds.

", + "DeleteConnectorRequest$ConnectorId": "

The unique identifier for the connector.

", + "DescribeConnectorRequest$ConnectorId": "

The unique identifier for the connector.

", + "DescribedConnector$ConnectorId": "

The unique identifier for the connector.

", + "ListedConnector$ConnectorId": "

The unique identifier for the connector.

", + "StartFileTransferRequest$ConnectorId": "

The unique identifier for the connector.

", + "UpdateConnectorRequest$ConnectorId": "

The unique identifier for the connector.

", + "UpdateConnectorResponse$ConnectorId": "

Returns the identifier of the connector object that you are updating.

" + } + }, "CopyStepDetails": { "base": "

Each step type has its own StepDetails structure.

", "refs": { @@ -103,6 +278,36 @@ "refs": { } }, + "CreateAgreementRequest": { + "base": null, + "refs": { + } + }, + "CreateAgreementResponse": { + "base": null, + "refs": { + } + }, + "CreateConnectorRequest": { + "base": null, + "refs": { + } + }, + "CreateConnectorResponse": { + "base": null, + "refs": { + } + }, + "CreateProfileRequest": { + "base": null, + "refs": { + } + }, + "CreateProfileResponse": { + "base": null, + "refs": { + } + }, "CreateServerRequest": { "base": null, "refs": { @@ -168,6 +373,26 @@ "refs": { } }, + "DeleteAgreementRequest": { + "base": null, + "refs": { + } + }, + "DeleteCertificateRequest": { + "base": null, + "refs": { + } + }, + "DeleteConnectorRequest": { + "base": null, + "refs": { + } + }, + "DeleteProfileRequest": { + "base": null, + "refs": { + } + }, "DeleteServerRequest": { "base": null, "refs": { @@ -204,6 +429,36 @@ "refs": { } }, + "DescribeAgreementRequest": { + "base": null, + "refs": { + } + }, + "DescribeAgreementResponse": { + "base": null, + "refs": { + } + }, + "DescribeCertificateRequest": { + "base": null, + "refs": { + } + }, + "DescribeCertificateResponse": { + "base": null, + "refs": { + } + }, + "DescribeConnectorRequest": { + "base": null, + "refs": { + } + }, + "DescribeConnectorResponse": { + "base": null, + "refs": { + } + }, "DescribeExecutionRequest": { "base": null, "refs": { @@ -214,6 +469,16 @@ "refs": { } }, + "DescribeProfileRequest": { + "base": null, + "refs": { + } + }, + "DescribeProfileResponse": { + "base": null, + "refs": { + } + }, "DescribeSecurityPolicyRequest": { "base": null, "refs": { @@ -260,12 +525,36 @@ "DescribeAccessResponse$Access": "

The external ID of the server that the access is attached to.

" } }, + "DescribedAgreement": { + "base": "

Describes the properties of an agreement.

", + "refs": { + "DescribeAgreementResponse$Agreement": "

The details for the specified agreement, returned as a DescribedAgreement object.

" + } + }, + "DescribedCertificate": { + "base": "

Describes the properties of a certificate.

", + "refs": { + "DescribeCertificateResponse$Certificate": "

The details for the specified certificate, returned as an object.

" + } + }, + "DescribedConnector": { + "base": "

Describes the parameters for the connector, as identified by the ConnectorId.

", + "refs": { + "DescribeConnectorResponse$Connector": "

The structure that contains the details of the connector.

" + } + }, "DescribedExecution": { "base": "

The details for an execution object.

", "refs": { "DescribeExecutionResponse$Execution": "

The structure that contains the details of the workflow' execution.

" } }, + "DescribedProfile": { + "base": "

The details for a local or partner AS2 profile. profile.

", + "refs": { + "DescribeProfileResponse$Profile": "

The details of the specified profile, returned as an object.

" + } + }, "DescribedSecurityPolicy": { "base": "

Describes the properties of a security policy that was specified. For more information about security policies, see Working with security policies.

", "refs": { @@ -290,10 +579,23 @@ "DescribeWorkflowResponse$Workflow": "

The structure that contains the details of the workflow.

" } }, + "Description": { + "base": null, + "refs": { + "CreateAgreementRequest$Description": "

A name or short description to identify the agreement.

", + "DescribedAgreement$Description": "

The name or short description that's used to identify the agreement.

", + "DescribedCertificate$Description": "

The name or description that's used to identity the certificate.

", + "ImportCertificateRequest$Description": "

A short description that helps identify the certificate.

", + "ListedAgreement$Description": "

The current description for the agreement. You can change it by calling the UpdateAgreement operation and providing a new description.

", + "ListedCertificate$Description": "

The name or short description that's used to identify the certificate.

", + "UpdateAgreementRequest$Description": "

To replace the existing description, provide a short description for the agreement.

", + "UpdateCertificateRequest$Description": "

A short description to help identify the certificate.

" + } + }, "DirectoryId": { "base": null, "refs": { - "IdentityProviderDetails$DirectoryId": "

The identifier of the Amazon Web Services Directory Service directory that you want to stop sharing.

" + "IdentityProviderDetails$DirectoryId": "

The identifier of the Directory Service directory that you want to stop sharing.

" } }, "Domain": { @@ -323,12 +625,18 @@ "EfsFileLocation$Path": "

The pathname for the folder being used by a workflow.

" } }, + "EncryptionAlg": { + "base": null, + "refs": { + "As2ConnectorConfig$EncryptionAlgorithm": "

The algorithm that is used to encrypt the file.

" + } + }, "EndpointDetails": { "base": "

The virtual private cloud (VPC) endpoint settings that are configured for your file transfer protocol-enabled server. With a VPC endpoint, you can restrict access to your server and resources only within your VPC. To control incoming internet traffic, invoke the UpdateServer API and attach an Elastic IP address to your server's endpoint.

After May 19, 2021, you won't be able to create a server using EndpointType=VPC_ENDPOINT in your Amazon Web Servicesaccount if your account hasn't already done so before May 19, 2021. If you have already created servers with EndpointType=VPC_ENDPOINT in your Amazon Web Servicesaccount on or before May 19, 2021, you will not be affected. After this date, use EndpointType=VPC.

For more information, see https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint.

", "refs": { - "CreateServerRequest$EndpointDetails": "

The virtual private cloud (VPC) endpoint settings that are configured for your server. When you host your endpoint within your VPC, you can make it accessible only to resources within your VPC, or you can attach Elastic IP addresses and make it accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint.

", - "DescribedServer$EndpointDetails": "

The virtual private cloud (VPC) endpoint settings that are configured for your server. When you host your endpoint within your VPC, you can make it accessible only to resources within your VPC, or you can attach Elastic IP addresses and make it accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint.

", - "UpdateServerRequest$EndpointDetails": "

The virtual private cloud (VPC) endpoint settings that are configured for your server. When you host your endpoint within your VPC, you can make it accessible only to resources within your VPC, or you can attach Elastic IP addresses and make it accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint.

" + "CreateServerRequest$EndpointDetails": "

The virtual private cloud (VPC) endpoint settings that are configured for your server. When you host your endpoint within your VPC, you can make your endpoint accessible only to resources within your VPC, or you can attach Elastic IP addresses and make your endpoint accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint.

", + "DescribedServer$EndpointDetails": "

The virtual private cloud (VPC) endpoint settings that are configured for your server. When you host your endpoint within your VPC, you can make your endpoint accessible only to resources within your VPC, or you can attach Elastic IP addresses and make your endpoint accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint.

", + "UpdateServerRequest$EndpointDetails": "

The virtual private cloud (VPC) endpoint settings that are configured for your server. When you host your endpoint within your VPC, you can make your endpoint accessible only to resources within your VPC, or you can attach Elastic IP addresses and make your endpoint accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint.

" } }, "EndpointType": { @@ -343,7 +651,7 @@ "ExecutionError": { "base": "

Specifies the error message and type, for an error that occurs during the execution of the workflow.

", "refs": { - "ExecutionStepResult$Error": "

Specifies the details for an error, if it occurred during execution of the specified workfow step.

" + "ExecutionStepResult$Error": "

Specifies the details for an error, if it occurred during execution of the specified workflow step.

" } }, "ExecutionErrorMessage": { @@ -396,13 +704,13 @@ "ExternalId": { "base": null, "refs": { - "CreateAccessRequest$ExternalId": "

A unique identifier that is required to identify specific groups within your directory. The users of the group that you associate have access to your Amazon S3 or Amazon EFS resources over the enabled protocols using Amazon Web Services Transfer Family. If you know the group name, you can view the SID values by running the following command using Windows PowerShell.

Get-ADGroup -Filter {samAccountName -like \"YourGroupName*\"} -Properties * | Select SamAccountName,ObjectSid

In that command, replace YourGroupName with the name of your Active Directory group.

The regex used to validate this parameter is a string of characters consisting of uppercase and lowercase alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@:/-

", - "CreateAccessResponse$ExternalId": "

The external ID of the group whose users have access to your Amazon S3 or Amazon EFS resources over the enabled protocols using Amazon Web Services Transfer Family.

", - "DeleteAccessRequest$ExternalId": "

A unique identifier that is required to identify specific groups within your directory. The users of the group that you associate have access to your Amazon S3 or Amazon EFS resources over the enabled protocols using Amazon Web Services Transfer Family. If you know the group name, you can view the SID values by running the following command using Windows PowerShell.

Get-ADGroup -Filter {samAccountName -like \"YourGroupName*\"} -Properties * | Select SamAccountName,ObjectSid

In that command, replace YourGroupName with the name of your Active Directory group.

The regex used to validate this parameter is a string of characters consisting of uppercase and lowercase alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@:/-

", - "DescribeAccessRequest$ExternalId": "

A unique identifier that is required to identify specific groups within your directory. The users of the group that you associate have access to your Amazon S3 or Amazon EFS resources over the enabled protocols using Amazon Web Services Transfer Family. If you know the group name, you can view the SID values by running the following command using Windows PowerShell.

Get-ADGroup -Filter {samAccountName -like \"YourGroupName*\"} -Properties * | Select SamAccountName,ObjectSid

In that command, replace YourGroupName with the name of your Active Directory group.

The regex used to validate this parameter is a string of characters consisting of uppercase and lowercase alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@:/-

", - "DescribedAccess$ExternalId": "

A unique identifier that is required to identify specific groups within your directory. The users of the group that you associate have access to your Amazon S3 or Amazon EFS resources over the enabled protocols using Amazon Web Services Transfer Family. If you know the group name, you can view the SID values by running the following command using Windows PowerShell.

Get-ADGroup -Filter {samAccountName -like \"YourGroupName*\"} -Properties * | Select SamAccountName,ObjectSid

In that command, replace YourGroupName with the name of your Active Directory group.

The regex used to validate this parameter is a string of characters consisting of uppercase and lowercase alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@:/-

", - "ListedAccess$ExternalId": "

A unique identifier that is required to identify specific groups within your directory. The users of the group that you associate have access to your Amazon S3 or Amazon EFS resources over the enabled protocols using Amazon Web Services Transfer Family. If you know the group name, you can view the SID values by running the following command using Windows PowerShell.

Get-ADGroup -Filter {samAccountName -like \"YourGroupName*\"} -Properties * | Select SamAccountName,ObjectSid

In that command, replace YourGroupName with the name of your Active Directory group.

The regex used to validate this parameter is a string of characters consisting of uppercase and lowercase alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@:/-

", - "UpdateAccessRequest$ExternalId": "

A unique identifier that is required to identify specific groups within your directory. The users of the group that you associate have access to your Amazon S3 or Amazon EFS resources over the enabled protocols using Amazon Web Services Transfer Family. If you know the group name, you can view the SID values by running the following command using Windows PowerShell.

Get-ADGroup -Filter {samAccountName -like \"YourGroupName*\"} -Properties * | Select SamAccountName,ObjectSid

In that command, replace YourGroupName with the name of your Active Directory group.

The regex used to validate this parameter is a string of characters consisting of uppercase and lowercase alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@:/-

", + "CreateAccessRequest$ExternalId": "

A unique identifier that is required to identify specific groups within your directory. The users of the group that you associate have access to your Amazon S3 or Amazon EFS resources over the enabled protocols using Transfer Family. If you know the group name, you can view the SID values by running the following command using Windows PowerShell.

Get-ADGroup -Filter {samAccountName -like \"YourGroupName*\"} -Properties * | Select SamAccountName,ObjectSid

In that command, replace YourGroupName with the name of your Active Directory group.

The regular expression used to validate this parameter is a string of characters consisting of uppercase and lowercase alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@:/-

", + "CreateAccessResponse$ExternalId": "

The external ID of the group whose users have access to your Amazon S3 or Amazon EFS resources over the enabled protocols using Transfer Family.

", + "DeleteAccessRequest$ExternalId": "

A unique identifier that is required to identify specific groups within your directory. The users of the group that you associate have access to your Amazon S3 or Amazon EFS resources over the enabled protocols using Transfer Family. If you know the group name, you can view the SID values by running the following command using Windows PowerShell.

Get-ADGroup -Filter {samAccountName -like \"YourGroupName*\"} -Properties * | Select SamAccountName,ObjectSid

In that command, replace YourGroupName with the name of your Active Directory group.

The regular expression used to validate this parameter is a string of characters consisting of uppercase and lowercase alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@:/-

", + "DescribeAccessRequest$ExternalId": "

A unique identifier that is required to identify specific groups within your directory. The users of the group that you associate have access to your Amazon S3 or Amazon EFS resources over the enabled protocols using Transfer Family. If you know the group name, you can view the SID values by running the following command using Windows PowerShell.

Get-ADGroup -Filter {samAccountName -like \"YourGroupName*\"} -Properties * | Select SamAccountName,ObjectSid

In that command, replace YourGroupName with the name of your Active Directory group.

The regular expression used to validate this parameter is a string of characters consisting of uppercase and lowercase alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@:/-

", + "DescribedAccess$ExternalId": "

A unique identifier that is required to identify specific groups within your directory. The users of the group that you associate have access to your Amazon S3 or Amazon EFS resources over the enabled protocols using Transfer Family. If you know the group name, you can view the SID values by running the following command using Windows PowerShell.

Get-ADGroup -Filter {samAccountName -like \"YourGroupName*\"} -Properties * | Select SamAccountName,ObjectSid

In that command, replace YourGroupName with the name of your Active Directory group.

The regular expression used to validate this parameter is a string of characters consisting of uppercase and lowercase alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@:/-

", + "ListedAccess$ExternalId": "

A unique identifier that is required to identify specific groups within your directory. The users of the group that you associate have access to your Amazon S3 or Amazon EFS resources over the enabled protocols using Transfer Family. If you know the group name, you can view the SID values by running the following command using Windows PowerShell.

Get-ADGroup -Filter {samAccountName -like \"YourGroupName*\"} -Properties * | Select SamAccountName,ObjectSid

In that command, replace YourGroupName with the name of your Active Directory group.

The regular expression used to validate this parameter is a string of characters consisting of uppercase and lowercase alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@:/-

", + "UpdateAccessRequest$ExternalId": "

A unique identifier that is required to identify specific groups within your directory. The users of the group that you associate have access to your Amazon S3 or Amazon EFS resources over the enabled protocols using Transfer Family. If you know the group name, you can view the SID values by running the following command using Windows PowerShell.

Get-ADGroup -Filter {samAccountName -like \"YourGroupName*\"} -Properties * | Select SamAccountName,ObjectSid

In that command, replace YourGroupName with the name of your Active Directory group.

The regular expression used to validate this parameter is a string of characters consisting of uppercase and lowercase alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@:/-

", "UpdateAccessResponse$ExternalId": "

The external ID of the group whose users have access to your Amazon S3 or Amazon EFS resources over the enabled protocols using Amazon Web ServicesTransfer Family.

" } }, @@ -413,6 +721,18 @@ "ListedExecution$InitialFileLocation": "

A structure that describes the Amazon S3 or EFS file location. This is the file location when the execution begins: if the file is being copied, this is the initial (as opposed to destination) file location.

" } }, + "FilePath": { + "base": null, + "refs": { + "FilePaths$member": null + } + }, + "FilePaths": { + "base": null, + "refs": { + "StartFileTransferRequest$SendFilePaths": "

An array of strings. Each string represents the absolute path for one outbound file transfer. For example, DOC-EXAMPLE-BUCKET/myfile.txt .

" + } + }, "Fips": { "base": null, "refs": { @@ -429,12 +749,15 @@ "base": null, "refs": { "CreateAccessRequest$HomeDirectory": "

The landing directory (folder) for a user when they log in to the server using the client.

A HomeDirectory example is /bucket_name/home/mydirectory.

", + "CreateAgreementRequest$BaseDirectory": "

The landing directory (folder) for files transferred by using the AS2 protocol.

A BaseDirectory example is /DOC-EXAMPLE-BUCKET/home/mydirectory .

", "CreateUserRequest$HomeDirectory": "

The landing directory (folder) for a user when they log in to the server using the client.

A HomeDirectory example is /bucket_name/home/mydirectory.

", "DescribedAccess$HomeDirectory": "

The landing directory (folder) for a user when they log in to the server using the client.

A HomeDirectory example is /bucket_name/home/mydirectory.

", + "DescribedAgreement$BaseDirectory": "

The landing directory (folder) for files that are transferred by using the AS2 protocol.

", "DescribedUser$HomeDirectory": "

The landing directory (folder) for a user when they log in to the server using the client.

A HomeDirectory example is /bucket_name/home/mydirectory.

", "ListedAccess$HomeDirectory": "

The landing directory (folder) for a user when they log in to the server using the client.

A HomeDirectory example is /bucket_name/home/mydirectory.

", "ListedUser$HomeDirectory": "

The landing directory (folder) for a user when they log in to the server using the client.

A HomeDirectory example is /bucket_name/home/mydirectory.

", "UpdateAccessRequest$HomeDirectory": "

The landing directory (folder) for a user when they log in to the server using the client.

A HomeDirectory example is /bucket_name/home/mydirectory.

", + "UpdateAgreementRequest$BaseDirectory": "

To change the landing directory (folder) for files that are transferred, provide the bucket folder that you want to use; for example, /DOC-EXAMPLE-BUCKET/home/mydirectory .

", "UpdateUserRequest$HomeDirectory": "

The landing directory (folder) for a user when they log in to the server using the client.

A HomeDirectory example is /bucket_name/home/mydirectory.

" } }, @@ -447,32 +770,32 @@ "HomeDirectoryMappings": { "base": null, "refs": { - "CreateAccessRequest$HomeDirectoryMappings": "

Logical directory mappings that specify what Amazon S3 or Amazon EFS paths and keys should be visible to your user and how you want to make them visible. You must specify the Entry and Target pair, where Entry shows how the path is made visible and Target is the actual Amazon S3 or Amazon EFS path. If you only specify a target, it is displayed as is. You also must ensure that your Amazon Web Services Identity and Access Management (IAM) role provides access to paths in Target. This value can only be set when HomeDirectoryType is set to LOGICAL.

The following is an Entry and Target pair example.

[ { \"Entry\": \"/directory1\", \"Target\": \"/bucket_name/home/mydirectory\" } ]

In most cases, you can use this value instead of the session policy to lock down your user to the designated home directory (\"chroot\"). To do this, you can set Entry to / and set Target to the HomeDirectory parameter value.

The following is an Entry and Target pair example for chroot.

[ { \"Entry\": \"/\", \"Target\": \"/bucket_name/home/mydirectory\" } ]

", - "CreateUserRequest$HomeDirectoryMappings": "

Logical directory mappings that specify what Amazon S3 or Amazon EFS paths and keys should be visible to your user and how you want to make them visible. You must specify the Entry and Target pair, where Entry shows how the path is made visible and Target is the actual Amazon S3 or Amazon EFS path. If you only specify a target, it is displayed as is. You also must ensure that your Amazon Web Services Identity and Access Management (IAM) role provides access to paths in Target. This value can only be set when HomeDirectoryType is set to LOGICAL.

The following is an Entry and Target pair example.

[ { \"Entry\": \"/directory1\", \"Target\": \"/bucket_name/home/mydirectory\" } ]

In most cases, you can use this value instead of the session policy to lock your user down to the designated home directory (\"chroot\"). To do this, you can set Entry to / and set Target to the HomeDirectory parameter value.

The following is an Entry and Target pair example for chroot.

[ { \"Entry\": \"/\", \"Target\": \"/bucket_name/home/mydirectory\" } ]

", - "DescribedAccess$HomeDirectoryMappings": "

Logical directory mappings that specify what Amazon S3 or Amazon EFS paths and keys should be visible to your user and how you want to make them visible. You must specify the Entry and Target pair, where Entry shows how the path is made visible and Target is the actual Amazon S3 or Amazon EFS path. If you only specify a target, it is displayed as is. You also must ensure that your Amazon Web Services Identity and Access Management (IAM) role provides access to paths in Target. This value can only be set when HomeDirectoryType is set to LOGICAL.

In most cases, you can use this value instead of the session policy to lock down the associated access to the designated home directory (\"chroot\"). To do this, you can set Entry to '/' and set Target to the HomeDirectory parameter value.

", - "DescribedUser$HomeDirectoryMappings": "

Logical directory mappings that specify what Amazon S3 or Amazon EFS paths and keys should be visible to your user and how you want to make them visible. You must specify the Entry and Target pair, where Entry shows how the path is made visible and Target is the actual Amazon S3 or Amazon EFS path. If you only specify a target, it is displayed as is. You also must ensure that your Amazon Web Services Identity and Access Management (IAM) role provides access to paths in Target. This value can only be set when HomeDirectoryType is set to LOGICAL.

In most cases, you can use this value instead of the session policy to lock your user down to the designated home directory (\"chroot\"). To do this, you can set Entry to '/' and set Target to the HomeDirectory parameter value.

", - "UpdateAccessRequest$HomeDirectoryMappings": "

Logical directory mappings that specify what Amazon S3 or Amazon EFS paths and keys should be visible to your user and how you want to make them visible. You must specify the Entry and Target pair, where Entry shows how the path is made visible and Target is the actual Amazon S3 or Amazon EFS path. If you only specify a target, it is displayed as is. You also must ensure that your Amazon Web Services Identity and Access Management (IAM) role provides access to paths in Target. This value can only be set when HomeDirectoryType is set to LOGICAL.

The following is an Entry and Target pair example.

[ { \"Entry\": \"/directory1\", \"Target\": \"/bucket_name/home/mydirectory\" } ]

In most cases, you can use this value instead of the session policy to lock down your user to the designated home directory (\"chroot\"). To do this, you can set Entry to / and set Target to the HomeDirectory parameter value.

The following is an Entry and Target pair example for chroot.

[ { \"Entry\": \"/\", \"Target\": \"/bucket_name/home/mydirectory\" } ]

", - "UpdateUserRequest$HomeDirectoryMappings": "

Logical directory mappings that specify what Amazon S3 or Amazon EFS paths and keys should be visible to your user and how you want to make them visible. You must specify the Entry and Target pair, where Entry shows how the path is made visible and Target is the actual Amazon S3 or Amazon EFS path. If you only specify a target, it is displayed as is. You also must ensure that your Amazon Web Services Identity and Access Management (IAM) role provides access to paths in Target. This value can only be set when HomeDirectoryType is set to LOGICAL.

The following is an Entry and Target pair example.

[ { \"Entry\": \"/directory1\", \"Target\": \"/bucket_name/home/mydirectory\" } ]

In most cases, you can use this value instead of the session policy to lock down your user to the designated home directory (\"chroot\"). To do this, you can set Entry to '/' and set Target to the HomeDirectory parameter value.

The following is an Entry and Target pair example for chroot.

[ { \"Entry\": \"/\", \"Target\": \"/bucket_name/home/mydirectory\" } ]

" + "CreateAccessRequest$HomeDirectoryMappings": "

Logical directory mappings that specify what Amazon S3 or Amazon EFS paths and keys should be visible to your user and how you want to make them visible. You must specify the Entry and Target pair, where Entry shows how the path is made visible and Target is the actual Amazon S3 or Amazon EFS path. If you only specify a target, it is displayed as is. You also must ensure that your Identity and Access Management (IAM) role provides access to paths in Target. This value can be set only when HomeDirectoryType is set to LOGICAL.

The following is an Entry and Target pair example.

[ { \"Entry\": \"/directory1\", \"Target\": \"/bucket_name/home/mydirectory\" } ]

In most cases, you can use this value instead of the session policy to lock down your user to the designated home directory (\"chroot\"). To do this, you can set Entry to / and set Target to the HomeDirectory parameter value.

The following is an Entry and Target pair example for chroot.

[ { \"Entry\": \"/\", \"Target\": \"/bucket_name/home/mydirectory\" } ]

", + "CreateUserRequest$HomeDirectoryMappings": "

Logical directory mappings that specify what Amazon S3 or Amazon EFS paths and keys should be visible to your user and how you want to make them visible. You must specify the Entry and Target pair, where Entry shows how the path is made visible and Target is the actual Amazon S3 or Amazon EFS path. If you only specify a target, it is displayed as is. You also must ensure that your Identity and Access Management (IAM) role provides access to paths in Target. This value can be set only when HomeDirectoryType is set to LOGICAL.

The following is an Entry and Target pair example.

[ { \"Entry\": \"/directory1\", \"Target\": \"/bucket_name/home/mydirectory\" } ]

In most cases, you can use this value instead of the session policy to lock your user down to the designated home directory (\"chroot\"). To do this, you can set Entry to / and set Target to the HomeDirectory parameter value.

The following is an Entry and Target pair example for chroot.

[ { \"Entry\": \"/\", \"Target\": \"/bucket_name/home/mydirectory\" } ]

", + "DescribedAccess$HomeDirectoryMappings": "

Logical directory mappings that specify what Amazon S3 or Amazon EFS paths and keys should be visible to your user and how you want to make them visible. You must specify the Entry and Target pair, where Entry shows how the path is made visible and Target is the actual Amazon S3 or Amazon EFS path. If you only specify a target, it is displayed as is. You also must ensure that your Identity and Access Management (IAM) role provides access to paths in Target. This value can be set only when HomeDirectoryType is set to LOGICAL.

In most cases, you can use this value instead of the session policy to lock down the associated access to the designated home directory (\"chroot\"). To do this, you can set Entry to '/' and set Target to the HomeDirectory parameter value.

", + "DescribedUser$HomeDirectoryMappings": "

Logical directory mappings that specify what Amazon S3 or Amazon EFS paths and keys should be visible to your user and how you want to make them visible. You must specify the Entry and Target pair, where Entry shows how the path is made visible and Target is the actual Amazon S3 or Amazon EFS path. If you only specify a target, it is displayed as is. You also must ensure that your Identity and Access Management (IAM) role provides access to paths in Target. This value can be set only when HomeDirectoryType is set to LOGICAL.

In most cases, you can use this value instead of the session policy to lock your user down to the designated home directory (\"chroot\"). To do this, you can set Entry to '/' and set Target to the HomeDirectory parameter value.

", + "UpdateAccessRequest$HomeDirectoryMappings": "

Logical directory mappings that specify what Amazon S3 or Amazon EFS paths and keys should be visible to your user and how you want to make them visible. You must specify the Entry and Target pair, where Entry shows how the path is made visible and Target is the actual Amazon S3 or Amazon EFS path. If you only specify a target, it is displayed as is. You also must ensure that your Identity and Access Management (IAM) role provides access to paths in Target. This value can be set only when HomeDirectoryType is set to LOGICAL.

The following is an Entry and Target pair example.

[ { \"Entry\": \"/directory1\", \"Target\": \"/bucket_name/home/mydirectory\" } ]

In most cases, you can use this value instead of the session policy to lock down your user to the designated home directory (\"chroot\"). To do this, you can set Entry to / and set Target to the HomeDirectory parameter value.

The following is an Entry and Target pair example for chroot.

[ { \"Entry\": \"/\", \"Target\": \"/bucket_name/home/mydirectory\" } ]

", + "UpdateUserRequest$HomeDirectoryMappings": "

Logical directory mappings that specify what Amazon S3 or Amazon EFS paths and keys should be visible to your user and how you want to make them visible. You must specify the Entry and Target pair, where Entry shows how the path is made visible and Target is the actual Amazon S3 or Amazon EFS path. If you only specify a target, it is displayed as is. You also must ensure that your Identity and Access Management (IAM) role provides access to paths in Target. This value can be set only when HomeDirectoryType is set to LOGICAL.

The following is an Entry and Target pair example.

[ { \"Entry\": \"/directory1\", \"Target\": \"/bucket_name/home/mydirectory\" } ]

In most cases, you can use this value instead of the session policy to lock down your user to the designated home directory (\"chroot\"). To do this, you can set Entry to '/' and set Target to the HomeDirectory parameter value.

The following is an Entry and Target pair example for chroot.

[ { \"Entry\": \"/\", \"Target\": \"/bucket_name/home/mydirectory\" } ]

" } }, "HomeDirectoryType": { "base": null, "refs": { - "CreateAccessRequest$HomeDirectoryType": "

The type of landing directory (folder) you want your users' home directory to be when they log into the server. If you set it to PATH, the user will see the absolute Amazon S3 bucket or EFS paths as is in their file transfer protocol clients. If you set it LOGICAL, you need to provide mappings in the HomeDirectoryMappings for how you want to make Amazon S3 or EFS paths visible to your users.

", - "CreateUserRequest$HomeDirectoryType": "

The type of landing directory (folder) you want your users' home directory to be when they log into the server. If you set it to PATH, the user will see the absolute Amazon S3 bucket or EFS paths as is in their file transfer protocol clients. If you set it LOGICAL, you need to provide mappings in the HomeDirectoryMappings for how you want to make Amazon S3 or EFS paths visible to your users.

", - "DescribedAccess$HomeDirectoryType": "

The type of landing directory (folder) you want your users' home directory to be when they log into the server. If you set it to PATH, the user will see the absolute Amazon S3 bucket or EFS paths as is in their file transfer protocol clients. If you set it LOGICAL, you need to provide mappings in the HomeDirectoryMappings for how you want to make Amazon S3 or EFS paths visible to your users.

", - "DescribedUser$HomeDirectoryType": "

The type of landing directory (folder) you want your users' home directory to be when they log into the server. If you set it to PATH, the user will see the absolute Amazon S3 bucket or EFS paths as is in their file transfer protocol clients. If you set it LOGICAL, you need to provide mappings in the HomeDirectoryMappings for how you want to make Amazon S3 or EFS paths visible to your users.

", - "ListedAccess$HomeDirectoryType": "

The type of landing directory (folder) you want your users' home directory to be when they log into the server. If you set it to PATH, the user will see the absolute Amazon S3 bucket or EFS paths as is in their file transfer protocol clients. If you set it LOGICAL, you need to provide mappings in the HomeDirectoryMappings for how you want to make Amazon S3 or EFS paths visible to your users.

", - "ListedUser$HomeDirectoryType": "

The type of landing directory (folder) you want your users' home directory to be when they log into the server. If you set it to PATH, the user will see the absolute Amazon S3 bucket or EFS paths as is in their file transfer protocol clients. If you set it LOGICAL, you need to provide mappings in the HomeDirectoryMappings for how you want to make Amazon S3 or EFS paths visible to your users.

", - "UpdateAccessRequest$HomeDirectoryType": "

The type of landing directory (folder) you want your users' home directory to be when they log into the server. If you set it to PATH, the user will see the absolute Amazon S3 bucket or EFS paths as is in their file transfer protocol clients. If you set it LOGICAL, you need to provide mappings in the HomeDirectoryMappings for how you want to make Amazon S3 or EFS paths visible to your users.

", - "UpdateUserRequest$HomeDirectoryType": "

The type of landing directory (folder) you want your users' home directory to be when they log into the server. If you set it to PATH, the user will see the absolute Amazon S3 bucket or EFS paths as is in their file transfer protocol clients. If you set it LOGICAL, you need to provide mappings in the HomeDirectoryMappings for how you want to make Amazon S3 or EFS paths visible to your users.

" + "CreateAccessRequest$HomeDirectoryType": "

The type of landing directory (folder) that you want your users' home directory to be when they log in to the server. If you set it to PATH, the user will see the absolute Amazon S3 bucket or EFS paths as is in their file transfer protocol clients. If you set it LOGICAL, you need to provide mappings in the HomeDirectoryMappings for how you want to make Amazon S3 or Amazon EFS paths visible to your users.

", + "CreateUserRequest$HomeDirectoryType": "

The type of landing directory (folder) that you want your users' home directory to be when they log in to the server. If you set it to PATH, the user will see the absolute Amazon S3 bucket or EFS paths as is in their file transfer protocol clients. If you set it LOGICAL, you need to provide mappings in the HomeDirectoryMappings for how you want to make Amazon S3 or Amazon EFS paths visible to your users.

", + "DescribedAccess$HomeDirectoryType": "

The type of landing directory (folder) that you want your users' home directory to be when they log in to the server. If you set it to PATH, the user will see the absolute Amazon S3 bucket or EFS paths as is in their file transfer protocol clients. If you set it LOGICAL, you need to provide mappings in the HomeDirectoryMappings for how you want to make Amazon S3 or Amazon EFS paths visible to your users.

", + "DescribedUser$HomeDirectoryType": "

The type of landing directory (folder) that you want your users' home directory to be when they log in to the server. If you set it to PATH, the user will see the absolute Amazon S3 bucket or EFS paths as is in their file transfer protocol clients. If you set it LOGICAL, you need to provide mappings in the HomeDirectoryMappings for how you want to make Amazon S3 or Amazon EFS paths visible to your users.

", + "ListedAccess$HomeDirectoryType": "

The type of landing directory (folder) that you want your users' home directory to be when they log in to the server. If you set it to PATH, the user will see the absolute Amazon S3 bucket or EFS paths as is in their file transfer protocol clients. If you set it LOGICAL, you need to provide mappings in the HomeDirectoryMappings for how you want to make Amazon S3 or Amazon EFS paths visible to your users.

", + "ListedUser$HomeDirectoryType": "

The type of landing directory (folder) that you want your users' home directory to be when they log in to the server. If you set it to PATH, the user will see the absolute Amazon S3 bucket or EFS paths as is in their file transfer protocol clients. If you set it LOGICAL, you need to provide mappings in the HomeDirectoryMappings for how you want to make Amazon S3 or Amazon EFS paths visible to your users.

", + "UpdateAccessRequest$HomeDirectoryType": "

The type of landing directory (folder) that you want your users' home directory to be when they log in to the server. If you set it to PATH, the user will see the absolute Amazon S3 bucket or EFS paths as is in their file transfer protocol clients. If you set it LOGICAL, you need to provide mappings in the HomeDirectoryMappings for how you want to make Amazon S3 or Amazon EFS paths visible to your users.

", + "UpdateUserRequest$HomeDirectoryType": "

The type of landing directory (folder) that you want your users' home directory to be when they log in to the server. If you set it to PATH, the user will see the absolute Amazon S3 bucket or EFS paths as is in their file transfer protocol clients. If you set it LOGICAL, you need to provide mappings in the HomeDirectoryMappings for how you want to make Amazon S3 or Amazon EFS paths visible to your users.

" } }, "HostKey": { "base": null, "refs": { - "CreateServerRequest$HostKey": "

The RSA, ECDSA, or ED25519 private key to use for your server.

Use the following command to generate an RSA 2048 bit key with no passphrase:

ssh-keygen -t rsa -b 2048 -N \"\" -m PEM -f my-new-server-key.

Use a minimum value of 2048 for the -b option: you can create a stronger key using 3072 or 4096.

Use the following command to generate an ECDSA 256 bit key with no passphrase:

ssh-keygen -t ecdsa -b 256 -N \"\" -m PEM -f my-new-server-key.

Valid values for the -b option for ECDSA are 256, 384, and 521.

Use the following command to generate an ED25519 key with no passphrase:

ssh-keygen -t ed25519 -N \"\" -f my-new-server-key.

For all of these commands, you can replace my-new-server-key with a string of your choice.

If you aren't planning to migrate existing users from an existing SFTP-enabled server to a new server, don't update the host key. Accidentally changing a server's host key can be disruptive.

For more information, see Change the host key for your SFTP-enabled server in the Amazon Web Services Transfer Family User Guide.

", - "UpdateServerRequest$HostKey": "

The RSA, ECDSA, or ED25519 private key to use for your server.

Use the following command to generate an RSA 2048 bit key with no passphrase:

ssh-keygen -t rsa -b 2048 -N \"\" -m PEM -f my-new-server-key.

Use a minimum value of 2048 for the -b option: you can create a stronger key using 3072 or 4096.

Use the following command to generate an ECDSA 256 bit key with no passphrase:

ssh-keygen -t ecdsa -b 256 -N \"\" -m PEM -f my-new-server-key.

Valid values for the -b option for ECDSA are 256, 384, and 521.

Use the following command to generate an ED25519 key with no passphrase:

ssh-keygen -t ed25519 -N \"\" -f my-new-server-key.

For all of these commands, you can replace my-new-server-key with a string of your choice.

If you aren't planning to migrate existing users from an existing SFTP-enabled server to a new server, don't update the host key. Accidentally changing a server's host key can be disruptive.

For more information, see Change the host key for your SFTP-enabled server in the Amazon Web Services Transfer Family User Guide.

" + "CreateServerRequest$HostKey": "

The RSA, ECDSA, or ED25519 private key to use for your server.

Use the following command to generate an RSA 2048 bit key with no passphrase:

ssh-keygen -t rsa -b 2048 -N \"\" -m PEM -f my-new-server-key.

Use a minimum value of 2048 for the -b option. You can create a stronger key by using 3072 or 4096.

Use the following command to generate an ECDSA 256 bit key with no passphrase:

ssh-keygen -t ecdsa -b 256 -N \"\" -m PEM -f my-new-server-key.

Valid values for the -b option for ECDSA are 256, 384, and 521.

Use the following command to generate an ED25519 key with no passphrase:

ssh-keygen -t ed25519 -N \"\" -f my-new-server-key.

For all of these commands, you can replace my-new-server-key with a string of your choice.

If you aren't planning to migrate existing users from an existing SFTP-enabled server to a new server, don't update the host key. Accidentally changing a server's host key can be disruptive.

For more information, see Change the host key for your SFTP-enabled server in the Transfer Family User Guide.

", + "UpdateServerRequest$HostKey": "

The RSA, ECDSA, or ED25519 private key to use for your server.

Use the following command to generate an RSA 2048 bit key with no passphrase:

ssh-keygen -t rsa -b 2048 -N \"\" -m PEM -f my-new-server-key.

Use a minimum value of 2048 for the -b option. You can create a stronger key by using 3072 or 4096.

Use the following command to generate an ECDSA 256 bit key with no passphrase:

ssh-keygen -t ecdsa -b 256 -N \"\" -m PEM -f my-new-server-key.

Valid values for the -b option for ECDSA are 256, 384, and 521.

Use the following command to generate an ED25519 key with no passphrase:

ssh-keygen -t ed25519 -N \"\" -f my-new-server-key.

For all of these commands, you can replace my-new-server-key with a string of your choice.

If you aren't planning to migrate existing users from an existing SFTP-enabled server to a new server, don't update the host key. Accidentally changing a server's host key can be disruptive.

For more information, see Change the host key for your SFTP-enabled server in the Transfer Family User Guide.

" } }, "HostKeyFingerprint": { @@ -492,9 +815,19 @@ "IdentityProviderType": { "base": "

Returns information related to the type of user authentication that is in use for a file transfer protocol-enabled server's users. For AWS_DIRECTORY_SERVICE or SERVICE_MANAGED authentication, the Secure Shell (SSH) public keys are stored with a user on the server instance. For API_GATEWAY authentication, your custom authentication method is implemented by using an API call. The server can have only one method of authentication.

", "refs": { - "CreateServerRequest$IdentityProviderType": "

Specifies the mode of authentication for a server. The default value is SERVICE_MANAGED, which allows you to store and access user credentials within the Amazon Web Services Transfer Family service.

Use AWS_DIRECTORY_SERVICE to provide access to Active Directory groups in Amazon Web Services Managed Active Directory or Microsoft Active Directory in your on-premises environment or in Amazon Web Services using AD Connectors. This option also requires you to provide a Directory ID using the IdentityProviderDetails parameter.

Use the API_GATEWAY value to integrate with an identity provider of your choosing. The API_GATEWAY setting requires you to provide an API Gateway endpoint URL to call for authentication using the IdentityProviderDetails parameter.

Use the AWS_LAMBDA value to directly use a Lambda function as your identity provider. If you choose this value, you must specify the ARN for the lambda function in the Function parameter for the IdentityProviderDetails data type.

", - "DescribedServer$IdentityProviderType": "

Specifies the mode of authentication for a server. The default value is SERVICE_MANAGED, which allows you to store and access user credentials within the Amazon Web Services Transfer Family service.

Use AWS_DIRECTORY_SERVICE to provide access to Active Directory groups in Amazon Web Services Managed Active Directory or Microsoft Active Directory in your on-premises environment or in Amazon Web Services using AD Connectors. This option also requires you to provide a Directory ID using the IdentityProviderDetails parameter.

Use the API_GATEWAY value to integrate with an identity provider of your choosing. The API_GATEWAY setting requires you to provide an API Gateway endpoint URL to call for authentication using the IdentityProviderDetails parameter.

Use the AWS_LAMBDA value to directly use a Lambda function as your identity provider. If you choose this value, you must specify the ARN for the lambda function in the Function parameter for the IdentityProviderDetails data type.

", - "ListedServer$IdentityProviderType": "

Specifies the mode of authentication for a server. The default value is SERVICE_MANAGED, which allows you to store and access user credentials within the Amazon Web Services Transfer Family service.

Use AWS_DIRECTORY_SERVICE to provide access to Active Directory groups in Amazon Web Services Managed Active Directory or Microsoft Active Directory in your on-premises environment or in Amazon Web Services using AD Connectors. This option also requires you to provide a Directory ID using the IdentityProviderDetails parameter.

Use the API_GATEWAY value to integrate with an identity provider of your choosing. The API_GATEWAY setting requires you to provide an API Gateway endpoint URL to call for authentication using the IdentityProviderDetails parameter.

Use the AWS_LAMBDA value to directly use a Lambda function as your identity provider. If you choose this value, you must specify the ARN for the lambda function in the Function parameter for the IdentityProviderDetails data type.

" + "CreateServerRequest$IdentityProviderType": "

The mode of authentication for a server. The default value is SERVICE_MANAGED, which allows you to store and access user credentials within the Transfer Family service.

Use AWS_DIRECTORY_SERVICE to provide access to Active Directory groups in Directory Service for Microsoft Active Directory or Microsoft Active Directory in your on-premises environment or in Amazon Web Services using AD Connector. This option also requires you to provide a Directory ID by using the IdentityProviderDetails parameter.

Use the API_GATEWAY value to integrate with an identity provider of your choosing. The API_GATEWAY setting requires you to provide an Amazon API Gateway endpoint URL to call for authentication by using the IdentityProviderDetails parameter.

Use the AWS_LAMBDA value to directly use an Lambda function as your identity provider. If you choose this value, you must specify the ARN for the Lambda function in the Function parameter or the IdentityProviderDetails data type.

", + "DescribedServer$IdentityProviderType": "

The mode of authentication for a server. The default value is SERVICE_MANAGED, which allows you to store and access user credentials within the Transfer Family service.

Use AWS_DIRECTORY_SERVICE to provide access to Active Directory groups in Directory Service for Microsoft Active Directory or Microsoft Active Directory in your on-premises environment or in Amazon Web Services using AD Connector. This option also requires you to provide a Directory ID by using the IdentityProviderDetails parameter.

Use the API_GATEWAY value to integrate with an identity provider of your choosing. The API_GATEWAY setting requires you to provide an Amazon API Gateway endpoint URL to call for authentication by using the IdentityProviderDetails parameter.

Use the AWS_LAMBDA value to directly use an Lambda function as your identity provider. If you choose this value, you must specify the ARN for the Lambda function in the Function parameter or the IdentityProviderDetails data type.

", + "ListedServer$IdentityProviderType": "

The mode of authentication for a server. The default value is SERVICE_MANAGED, which allows you to store and access user credentials within the Transfer Family service.

Use AWS_DIRECTORY_SERVICE to provide access to Active Directory groups in Directory Service for Microsoft Active Directory or Microsoft Active Directory in your on-premises environment or in Amazon Web Services using AD Connector. This option also requires you to provide a Directory ID by using the IdentityProviderDetails parameter.

Use the API_GATEWAY value to integrate with an identity provider of your choosing. The API_GATEWAY setting requires you to provide an Amazon API Gateway endpoint URL to call for authentication by using the IdentityProviderDetails parameter.

Use the AWS_LAMBDA value to directly use an Lambda function as your identity provider. If you choose this value, you must specify the ARN for the Lambda function in the Function parameter or the IdentityProviderDetails data type.

" + } + }, + "ImportCertificateRequest": { + "base": null, + "refs": { + } + }, + "ImportCertificateResponse": { + "base": null, + "refs": { } }, "ImportSshPublicKeyRequest": { @@ -538,6 +871,36 @@ "refs": { } }, + "ListAgreementsRequest": { + "base": null, + "refs": { + } + }, + "ListAgreementsResponse": { + "base": null, + "refs": { + } + }, + "ListCertificatesRequest": { + "base": null, + "refs": { + } + }, + "ListCertificatesResponse": { + "base": null, + "refs": { + } + }, + "ListConnectorsRequest": { + "base": null, + "refs": { + } + }, + "ListConnectorsResponse": { + "base": null, + "refs": { + } + }, "ListExecutionsRequest": { "base": null, "refs": { @@ -548,6 +911,16 @@ "refs": { } }, + "ListProfilesRequest": { + "base": null, + "refs": { + } + }, + "ListProfilesResponse": { + "base": null, + "refs": { + } + }, "ListSecurityPoliciesRequest": { "base": null, "refs": { @@ -610,6 +983,42 @@ "ListAccessesResponse$Accesses": "

Returns the accesses and their properties for the ServerId value that you specify.

" } }, + "ListedAgreement": { + "base": "

Describes the properties of an agreement.

", + "refs": { + "ListedAgreements$member": null + } + }, + "ListedAgreements": { + "base": null, + "refs": { + "ListAgreementsResponse$Agreements": "

Returns an array, where each item contains the details of an agreement.

" + } + }, + "ListedCertificate": { + "base": "

Describes the properties of a certificate.

", + "refs": { + "ListedCertificates$member": null + } + }, + "ListedCertificates": { + "base": null, + "refs": { + "ListCertificatesResponse$Certificates": "

Returns an array of the certificates that are specified in the ListCertificates call.

" + } + }, + "ListedConnector": { + "base": "

Returns details of the connector that is specified.

", + "refs": { + "ListedConnectors$member": null + } + }, + "ListedConnectors": { + "base": null, + "refs": { + "ListConnectorsResponse$Connectors": "

Returns an array, where each item contains the details of a connector.

" + } + }, "ListedExecution": { "base": "

Returns properties of the execution that is specified.

", "refs": { @@ -622,6 +1031,18 @@ "ListExecutionsResponse$Executions": "

Returns the details for each execution.

  • NextToken: returned from a call to several APIs, you can use pass it to a subsequent command to continue listing additional executions.

  • StartTime: timestamp indicating when the execution began.

  • Executions: details of the execution, including the execution ID, initial file location, and Service metadata.

  • Status: one of the following values: IN_PROGRESS, COMPLETED, EXCEPTION, HANDLING_EXEPTION.

" } }, + "ListedProfile": { + "base": "

Returns the properties of the profile that was specified.

", + "refs": { + "ListedProfiles$member": null + } + }, + "ListedProfiles": { + "base": null, + "refs": { + "ListProfilesResponse$Profiles": "

Returns an array, where each item contains the details of a profile.

" + } + }, "ListedServer": { "base": "

Returns properties of a file transfer protocol-enabled server that was specified.

", "refs": { @@ -661,7 +1082,7 @@ "LogGroupName": { "base": null, "refs": { - "LoggingConfiguration$LogGroupName": "

The name of the CloudWatch logging group for the Amazon Web Services Transfer server to which this workflow belongs.

" + "LoggingConfiguration$LogGroupName": "

The name of the CloudWatch logging group for the Transfer Family server to which this workflow belongs.

" } }, "LoggingConfiguration": { @@ -686,7 +1107,11 @@ "base": null, "refs": { "ListAccessesRequest$MaxResults": "

Specifies the maximum number of access SIDs to return.

", - "ListExecutionsRequest$MaxResults": "

Specifies the aximum number of executions to return.

", + "ListAgreementsRequest$MaxResults": "

The maximum number of agreements to return.

", + "ListCertificatesRequest$MaxResults": "

The maximum number of certificates to return.

", + "ListConnectorsRequest$MaxResults": "

The maximum number of connectors to return.

", + "ListExecutionsRequest$MaxResults": "

Specifies the maximum number of executions to return.

", + "ListProfilesRequest$MaxResults": "

The maximum number of profiles to return.

", "ListSecurityPoliciesRequest$MaxResults": "

Specifies the number of security policies to return as a response to the ListSecurityPolicies query.

", "ListServersRequest$MaxResults": "

Specifies the number of servers to return as a response to the ListServers query.

", "ListTagsForResourceRequest$MaxResults": "

Specifies the number of tags to return as a response to the ListTagsForResource request.

", @@ -694,6 +1119,18 @@ "ListWorkflowsRequest$MaxResults": "

Specifies the maximum number of workflows to return.

" } }, + "MdnResponse": { + "base": null, + "refs": { + "As2ConnectorConfig$MdnResponse": "

Used for outbound requests (from an Transfer Family server to a partner AS2 server) to determine whether the partner response for transfers is synchronous or asynchronous. Specify either of the following values:

  • SYNC: The system expects a synchronous MDN response, confirming that the file was transferred successfully (or not).

  • NONE: Specifies that no MDN response is required.

" + } + }, + "MdnSigningAlg": { + "base": null, + "refs": { + "As2ConnectorConfig$MdnSigningAlgorithm": "

The signing algorithm for the MDN response.

" + } + }, "Message": { "base": null, "refs": { @@ -706,13 +1143,27 @@ "TestIdentityProviderResponse$Message": "

A message that indicates whether the test was successful or not.

If an empty string is returned, the most likely cause is that the authentication failed due to an incorrect username or password.

" } }, + "MessageSubject": { + "base": null, + "refs": { + "As2ConnectorConfig$MessageSubject": "

A short description to help identify the connector.

" + } + }, "NextToken": { "base": null, "refs": { "ListAccessesRequest$NextToken": "

When you can get additional results from the ListAccesses call, a NextToken parameter is returned in the output. You can then pass in a subsequent command to the NextToken parameter to continue listing additional accesses.

", "ListAccessesResponse$NextToken": "

When you can get additional results from the ListAccesses call, a NextToken parameter is returned in the output. You can then pass in a subsequent command to the NextToken parameter to continue listing additional accesses.

", - "ListExecutionsRequest$NextToken": "

ListExecutions returns the NextToken parameter in the output. You can then pass the NextToken parameter in a subsequent command to continue listing additional executions.

This is useful for pagination, for instance. If you have 100 executions for a workflow, you might only want to list first 10. If so, callthe API by specifing the max-results:

aws transfer list-executions --max-results 10

This returns details for the first 10 executions, as well as the pointer (NextToken) to the eleventh execution. You can now call the API again, suppling the NextToken value you received:

aws transfer list-executions --max-results 10 --next-token $somePointerReturnedFromPreviousListResult

This call returns the next 10 executions, the 11th through the 20th. You can then repeat the call until the details for all 100 executions have been returned.

", + "ListAgreementsRequest$NextToken": "

When you can get additional results from the ListAgreements call, a NextToken parameter is returned in the output. You can then pass in a subsequent command to the NextToken parameter to continue listing additional agreements.

", + "ListAgreementsResponse$NextToken": "

Returns a token that you can use to call ListAgreements again and receive additional results, if there are any.

", + "ListCertificatesRequest$NextToken": "

When you can get additional results from the ListCertificates call, a NextToken parameter is returned in the output. You can then pass in a subsequent command to the NextToken parameter to continue listing additional certificates.

", + "ListCertificatesResponse$NextToken": "

Returns the next token, which you can use to list the next certificate.

", + "ListConnectorsRequest$NextToken": "

When you can get additional results from the ListConnectors call, a NextToken parameter is returned in the output. You can then pass in a subsequent command to the NextToken parameter to continue listing additional connectors.

", + "ListConnectorsResponse$NextToken": "

Returns a token that you can use to call ListConnectors again and receive additional results, if there are any.

", + "ListExecutionsRequest$NextToken": "

ListExecutions returns the NextToken parameter in the output. You can then pass the NextToken parameter in a subsequent command to continue listing additional executions.

This is useful for pagination, for instance. If you have 100 executions for a workflow, you might only want to list first 10. If so, call the API by specifying the max-results:

aws transfer list-executions --max-results 10

This returns details for the first 10 executions, as well as the pointer (NextToken) to the eleventh execution. You can now call the API again, supplying the NextToken value you received:

aws transfer list-executions --max-results 10 --next-token $somePointerReturnedFromPreviousListResult

This call returns the next 10 executions, the 11th through the 20th. You can then repeat the call until the details for all 100 executions have been returned.

", "ListExecutionsResponse$NextToken": "

ListExecutions returns the NextToken parameter in the output. You can then pass the NextToken parameter in a subsequent command to continue listing additional executions.

", + "ListProfilesRequest$NextToken": "

When there are additional results that were not returned, a NextToken parameter is returned. You can use that value for a subsequent call to ListProfiles to continue listing results.

", + "ListProfilesResponse$NextToken": "

Returns a token that you can use to call ListProfiles again and receive additional results, if there are any.

", "ListSecurityPoliciesRequest$NextToken": "

When additional results are obtained from the ListSecurityPolicies command, a NextToken parameter is returned in the output. You can then pass the NextToken parameter in a subsequent command to continue listing additional security policies.

", "ListSecurityPoliciesResponse$NextToken": "

When you can get additional results from the ListSecurityPolicies operation, a NextToken parameter is returned in the output. In a following command, you can pass in the NextToken parameter to continue listing security policies.

", "ListServersRequest$NextToken": "

When additional results are obtained from the ListServers command, a NextToken parameter is returned in the output. You can then pass the NextToken parameter in a subsequent command to continue listing additional servers.

", @@ -728,7 +1179,7 @@ "NullableRole": { "base": null, "refs": { - "UpdateServerRequest$LoggingRole": "

Specifies the Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFS events. When set, user activity can be viewed in your CloudWatch logs.

" + "UpdateServerRequest$LoggingRole": "

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFSevents. When set, you can view user activity in your CloudWatch logs.

" } }, "OnUploadWorkflowDetails": { @@ -752,12 +1203,12 @@ "Policy": { "base": null, "refs": { - "CreateAccessRequest$Policy": "

A session policy for your user so that you can use the same IAM role across multiple users. This policy scopes down user access to portions of their Amazon S3 bucket. Variables that you can use inside this policy include ${Transfer:UserName}, ${Transfer:HomeDirectory}, and ${Transfer:HomeBucket}.

This only applies when the domain of ServerId is S3. EFS does not use session policies.

For session policies, Amazon Web Services Transfer Family stores the policy as a JSON blob, instead of the Amazon Resource Name (ARN) of the policy. You save the policy as a JSON blob and pass it in the Policy argument.

For an example of a session policy, see Example session policy.

For more information, see AssumeRole in the Amazon Web Services Security Token Service API Reference.

", - "CreateUserRequest$Policy": "

A session policy for your user so that you can use the same IAM role across multiple users. This policy scopes down user access to portions of their Amazon S3 bucket. Variables that you can use inside this policy include ${Transfer:UserName}, ${Transfer:HomeDirectory}, and ${Transfer:HomeBucket}.

This only applies when the domain of ServerId is S3. EFS does not use session policies.

For session policies, Amazon Web Services Transfer Family stores the policy as a JSON blob, instead of the Amazon Resource Name (ARN) of the policy. You save the policy as a JSON blob and pass it in the Policy argument.

For an example of a session policy, see Example session policy.

For more information, see AssumeRole in the Amazon Web Services Security Token Service API Reference.

", - "DescribedAccess$Policy": "

A session policy for your user so that you can use the same IAM role across multiple users. This policy scopes down user access to portions of their Amazon S3 bucket. Variables that you can use inside this policy include ${Transfer:UserName}, ${Transfer:HomeDirectory}, and ${Transfer:HomeBucket}.

", - "DescribedUser$Policy": "

A session policy for your user so that you can use the same IAM role across multiple users. This policy scopes down user access to portions of their Amazon S3 bucket. Variables that you can use inside this policy include ${Transfer:UserName}, ${Transfer:HomeDirectory}, and ${Transfer:HomeBucket}.

", - "UpdateAccessRequest$Policy": "

A session policy for your user so that you can use the same IAM role across multiple users. This policy scopes down user access to portions of their Amazon S3 bucket. Variables that you can use inside this policy include ${Transfer:UserName}, ${Transfer:HomeDirectory}, and ${Transfer:HomeBucket}.

This only applies when the domain of ServerId is S3. EFS does not use session policies.

For session policies, Amazon Web Services Transfer Family stores the policy as a JSON blob, instead of the Amazon Resource Name (ARN) of the policy. You save the policy as a JSON blob and pass it in the Policy argument.

For an example of a session policy, see Example session policy.

For more information, see AssumeRole in the Amazon Web ServicesSecurity Token Service API Reference.

", - "UpdateUserRequest$Policy": "

A session policy for your user so that you can use the same IAM role across multiple users. This policy scopes down user access to portions of their Amazon S3 bucket. Variables that you can use inside this policy include ${Transfer:UserName}, ${Transfer:HomeDirectory}, and ${Transfer:HomeBucket}.

This only applies when the domain of ServerId is S3. EFS does not use session policies.

For session policies, Amazon Web Services Transfer Family stores the policy as a JSON blob, instead of the Amazon Resource Name (ARN) of the policy. You save the policy as a JSON blob and pass it in the Policy argument.

For an example of a session policy, see Creating a session policy.

For more information, see AssumeRole in the Amazon Web Services Security Token Service API Reference.

" + "CreateAccessRequest$Policy": "

A session policy for your user so that you can use the same Identity and Access Management (IAM) role across multiple users. This policy scopes down a user's access to portions of their Amazon S3 bucket. Variables that you can use inside this policy include ${Transfer:UserName}, ${Transfer:HomeDirectory}, and ${Transfer:HomeBucket}.

This policy applies only when the domain of ServerId is Amazon S3. Amazon EFS does not use session policies.

For session policies, Transfer Family stores the policy as a JSON blob, instead of the Amazon Resource Name (ARN) of the policy. You save the policy as a JSON blob and pass it in the Policy argument.

For an example of a session policy, see Example session policy.

For more information, see AssumeRole in the Security Token Service API Reference.

", + "CreateUserRequest$Policy": "

A session policy for your user so that you can use the same Identity and Access Management (IAM) role across multiple users. This policy scopes down a user's access to portions of their Amazon S3 bucket. Variables that you can use inside this policy include ${Transfer:UserName}, ${Transfer:HomeDirectory}, and ${Transfer:HomeBucket}.

This policy applies only when the domain of ServerId is Amazon S3. Amazon EFS does not use session policies.

For session policies, Transfer Family stores the policy as a JSON blob, instead of the Amazon Resource Name (ARN) of the policy. You save the policy as a JSON blob and pass it in the Policy argument.

For an example of a session policy, see Example session policy.

For more information, see AssumeRole in the Amazon Web Services Security Token Service API Reference.

", + "DescribedAccess$Policy": "

A session policy for your user so that you can use the same Identity and Access Management (IAM) role across multiple users. This policy scopes down a user's access to portions of their Amazon S3 bucket. Variables that you can use inside this policy include ${Transfer:UserName}, ${Transfer:HomeDirectory}, and ${Transfer:HomeBucket}.

", + "DescribedUser$Policy": "

A session policy for your user so that you can use the same Identity and Access Management (IAM) role across multiple users. This policy scopes down a user's access to portions of their Amazon S3 bucket. Variables that you can use inside this policy include ${Transfer:UserName}, ${Transfer:HomeDirectory}, and ${Transfer:HomeBucket}.

", + "UpdateAccessRequest$Policy": "

A session policy for your user so that you can use the same Identity and Access Management (IAM) role across multiple users. This policy scopes down a user's access to portions of their Amazon S3 bucket. Variables that you can use inside this policy include ${Transfer:UserName}, ${Transfer:HomeDirectory}, and ${Transfer:HomeBucket}.

This policy applies only when the domain of ServerId is Amazon S3. Amazon EFS does not use session policies.

For session policies, Transfer Family stores the policy as a JSON blob, instead of the Amazon Resource Name (ARN) of the policy. You save the policy as a JSON blob and pass it in the Policy argument.

For an example of a session policy, see Example session policy.

For more information, see AssumeRole in the Amazon Web ServicesSecurity Token Service API Reference.

", + "UpdateUserRequest$Policy": "

A session policy for your user so that you can use the same Identity and Access Management (IAM) role across multiple users. This policy scopes down a user's access to portions of their Amazon S3 bucket. Variables that you can use inside this policy include ${Transfer:UserName}, ${Transfer:HomeDirectory}, and ${Transfer:HomeBucket}.

This policy applies only when the domain of ServerId is Amazon S3. Amazon EFS does not use session policies.

For session policies, Transfer Family stores the policy as a JSON blob, instead of the Amazon Resource Name (ARN) of the policy. You save the policy as a JSON blob and pass it in the Policy argument.

For an example of a session policy, see Creating a session policy.

For more information, see AssumeRole in the Amazon Web Services Security Token Service API Reference.

" } }, "PosixId": { @@ -783,17 +1234,54 @@ "PostAuthenticationLoginBanner": { "base": null, "refs": { - "CreateServerRequest$PostAuthenticationLoginBanner": "

Specify a string to display when users connect to a server. This string is displayed after the user authenticates.

The SFTP protocol does not support post-authentication display banners.

", - "DescribedServer$PostAuthenticationLoginBanner": "

Specify a string to display when users connect to a server. This string is displayed after the user authenticates.

The SFTP protocol does not support post-authentication display banners.

", - "UpdateServerRequest$PostAuthenticationLoginBanner": "

Specify a string to display when users connect to a server. This string is displayed after the user authenticates.

The SFTP protocol does not support post-authentication display banners.

" + "CreateServerRequest$PostAuthenticationLoginBanner": "

Specifies a string to display when users connect to a server. This string is displayed after the user authenticates.

The SFTP protocol does not support post-authentication display banners.

", + "DescribedServer$PostAuthenticationLoginBanner": "

Specifies a string to display when users connect to a server. This string is displayed after the user authenticates.

The SFTP protocol does not support post-authentication display banners.

", + "UpdateServerRequest$PostAuthenticationLoginBanner": "

Specifies a string to display when users connect to a server. This string is displayed after the user authenticates.

The SFTP protocol does not support post-authentication display banners.

" } }, "PreAuthenticationLoginBanner": { "base": null, "refs": { - "CreateServerRequest$PreAuthenticationLoginBanner": "

Specify a string to display when users connect to a server. This string is displayed before the user authenticates. For example, the following banner displays details about using the system.

This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel.

", - "DescribedServer$PreAuthenticationLoginBanner": "

Specify a string to display when users connect to a server. This string is displayed before the user authenticates. For example, the following banner displays details about using the system.

This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel.

", - "UpdateServerRequest$PreAuthenticationLoginBanner": "

Specify a string to display when users connect to a server. This string is displayed before the user authenticates. For example, the following banner displays details about using the system.

This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel.

" + "CreateServerRequest$PreAuthenticationLoginBanner": "

Specifies a string to display when users connect to a server. This string is displayed before the user authenticates. For example, the following banner displays details about using the system:

This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel.

", + "DescribedServer$PreAuthenticationLoginBanner": "

Specifies a string to display when users connect to a server. This string is displayed before the user authenticates. For example, the following banner displays details about using the system:

This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel.

", + "UpdateServerRequest$PreAuthenticationLoginBanner": "

Specifies a string to display when users connect to a server. This string is displayed before the user authenticates. For example, the following banner displays details about using the system:

This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel.

" + } + }, + "PrivateKeyType": { + "base": null, + "refs": { + "ImportCertificateRequest$PrivateKey": "

The file that contains the private key for the certificate that's being imported.

" + } + }, + "ProfileId": { + "base": null, + "refs": { + "As2ConnectorConfig$LocalProfileId": "

A unique identifier for the AS2 process.

", + "As2ConnectorConfig$PartnerProfileId": "

A unique identifier for the partner for the connector.

", + "CreateAgreementRequest$LocalProfileId": "

A unique identifier for the AS2 local profile.

", + "CreateAgreementRequest$PartnerProfileId": "

A unique identifier for the partner profile used in the agreement.

", + "CreateProfileResponse$ProfileId": "

The unique identifier for the AS2 profile, returned after the API call succeeds.

", + "DeleteProfileRequest$ProfileId": "

The ID of the profile that you are deleting.

", + "DescribeProfileRequest$ProfileId": "

The identifier of the profile that you want described.

", + "DescribedAgreement$LocalProfileId": "

A unique identifier for the AS2 process.

", + "DescribedAgreement$PartnerProfileId": "

A unique identifier for the partner in the agreement.

", + "DescribedProfile$ProfileId": "

A unique identifier for the local or partner AS2 profile.

", + "ListedAgreement$LocalProfileId": "

A unique identifier for the AS2 process.

", + "ListedAgreement$PartnerProfileId": "

A unique identifier for the partner process.

", + "ListedProfile$ProfileId": "

A unique identifier for the local or partner AS2 profile.

", + "UpdateAgreementRequest$LocalProfileId": "

To change the local profile identifier, provide a new value here.

", + "UpdateAgreementRequest$PartnerProfileId": "

To change the partner profile identifier, provide a new value here.

", + "UpdateProfileRequest$ProfileId": "

The identifier of the profile object that you are updating.

", + "UpdateProfileResponse$ProfileId": "

Returns the identifier for the profile that's being updated.

" + } + }, + "ProfileType": { + "base": null, + "refs": { + "CreateProfileRequest$ProfileType": "

Indicates whether to list only LOCAL type profiles or only PARTNER type profiles. If not supplied in the request, the command lists all types of profiles.

", + "DescribedProfile$ProfileType": "

Indicates whether to list only LOCAL type profiles or only PARTNER type profiles. If not supplied in the request, the command lists all types of profiles.

", + "ListProfilesRequest$ProfileType": "

Indicates whether to list only LOCAL type profiles or only PARTNER type profiles. If not supplied in the request, the command lists all types of profiles.

", + "ListedProfile$ProfileType": "

Indicates whether to list only LOCAL type profiles or only PARTNER type profiles. If not supplied in the request, the command lists all types of profiles.

" } }, "Protocol": { @@ -806,15 +1294,15 @@ "ProtocolDetails": { "base": "

The protocol settings that are configured for your server.

", "refs": { - "CreateServerRequest$ProtocolDetails": "

The protocol settings that are configured for your server.

  • Use the PassiveIp parameter to indicate passive mode (for FTP and FTPS protocols). Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer.

  • Use the SetStatOption to ignore the error that is generated when the client attempts to use SETSTAT on a file you are uploading to an S3 bucket. Set the value to ENABLE_NO_OP to have the Transfer Family server ignore the SETSTAT command, and upload files without needing to make any changes to your SFTP client. Note that with SetStatOption set to ENABLE_NO_OP, Transfer generates a log entry to CloudWatch Logs, so you can determine when the client is making a SETSTAT call.

  • Use the TlsSessionResumptionMode parameter to determine whether or not your Transfer server resumes recent, negotiated sessions through a unique session ID.

", + "CreateServerRequest$ProtocolDetails": "

The protocol settings that are configured for your server.

  • To indicate passive mode (for FTP and FTPS protocols), use the PassiveIp parameter. Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer.

  • To ignore the error that is generated when the client attempts to use the SETSTAT command on a file that you are uploading to an Amazon S3 bucket, use the SetStatOption parameter. To have the Transfer Family server ignore the SETSTAT command and upload files without needing to make any changes to your SFTP client, set the value to ENABLE_NO_OP. If you set the SetStatOption parameter to ENABLE_NO_OP, Transfer Family generates a log entry to Amazon CloudWatch Logs, so that you can determine when the client is making a SETSTAT call.

  • To determine whether your Transfer Family server resumes recent, negotiated sessions through a unique session ID, use the TlsSessionResumptionMode parameter.

  • As2Transports indicates the transport method for the AS2 messages. Currently, only HTTP is supported.

", "DescribedServer$ProtocolDetails": "

The protocol settings that are configured for your server.

Use the PassiveIp parameter to indicate passive mode. Enter a single IPv4 address, such as the public IP address of a firewall, router, or load balancer.

", - "UpdateServerRequest$ProtocolDetails": "

The protocol settings that are configured for your server.

  • Use the PassiveIp parameter to indicate passive mode (for FTP and FTPS protocols). Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer.

  • Use the SetStatOption to ignore the error that is generated when the client attempts to use SETSTAT on a file you are uploading to an S3 bucket. Set the value to ENABLE_NO_OP to have the Transfer Family server ignore the SETSTAT command, and upload files without needing to make any changes to your SFTP client. Note that with SetStatOption set to ENABLE_NO_OP, Transfer generates a log entry to CloudWatch Logs, so you can determine when the client is making a SETSTAT call.

  • Use the TlsSessionResumptionMode parameter to determine whether or not your Transfer server resumes recent, negotiated sessions through a unique session ID.

" + "UpdateServerRequest$ProtocolDetails": "

The protocol settings that are configured for your server.

  • To indicate passive mode (for FTP and FTPS protocols), use the PassiveIp parameter. Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer.

  • To ignore the error that is generated when the client attempts to use the SETSTAT command on a file that you are uploading to an Amazon S3 bucket, use the SetStatOption parameter. To have the Transfer Family server ignore the SETSTAT command and upload files without needing to make any changes to your SFTP client, set the value to ENABLE_NO_OP. If you set the SetStatOption parameter to ENABLE_NO_OP, Transfer Family generates a log entry to Amazon CloudWatch Logs, so that you can determine when the client is making a SETSTAT call.

  • To determine whether your Transfer Family server resumes recent, negotiated sessions through a unique session ID, use the TlsSessionResumptionMode parameter.

  • As2Transports indicates the transport method for the AS2 messages. Currently, only HTTP is supported.

" } }, "Protocols": { "base": null, "refs": { - "CreateServerRequest$Protocols": "

Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are:

  • SFTP (Secure Shell (SSH) File Transfer Protocol): File transfer over SSH

  • FTPS (File Transfer Protocol Secure): File transfer with TLS encryption

  • FTP (File Transfer Protocol): Unencrypted file transfer

If you select FTPS, you must choose a certificate stored in Amazon Web Services Certificate Manager (ACM) which is used to identify your server when clients connect to it over FTPS.

If Protocol includes either FTP or FTPS, then the EndpointType must be VPC and the IdentityProviderType must be AWS_DIRECTORY_SERVICE or API_GATEWAY.

If Protocol includes FTP, then AddressAllocationIds cannot be associated.

If Protocol is set only to SFTP, the EndpointType can be set to PUBLIC and the IdentityProviderType can be set to SERVICE_MANAGED.

", + "CreateServerRequest$Protocols": "

Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are:

  • SFTP (Secure Shell (SSH) File Transfer Protocol): File transfer over SSH

  • FTPS (File Transfer Protocol Secure): File transfer with TLS encryption

  • FTP (File Transfer Protocol): Unencrypted file transfer

  • AS2 (Applicability Statement 2): used for transporting structured business-to-business data

  • If you select FTPS, you must choose a certificate stored in Certificate Manager (ACM) which is used to identify your server when clients connect to it over FTPS.

  • If Protocol includes either FTP or FTPS, then the EndpointType must be VPC and the IdentityProviderType must be AWS_DIRECTORY_SERVICE or API_GATEWAY.

  • If Protocol includes FTP, then AddressAllocationIds cannot be associated.

  • If Protocol is set only to SFTP, the EndpointType can be set to PUBLIC and the IdentityProviderType can be set to SERVICE_MANAGED.

  • If Protocol includes AS2, then the EndpointType must be VPC, and domain must be Amazon S3.

", "DescribedServer$Protocols": "

Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are:

  • SFTP (Secure Shell (SSH) File Transfer Protocol): File transfer over SSH

  • FTPS (File Transfer Protocol Secure): File transfer with TLS encryption

  • FTP (File Transfer Protocol): Unencrypted file transfer

", "UpdateServerRequest$Protocols": "

Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are:

  • Secure Shell (SSH) File Transfer Protocol (SFTP): File transfer over SSH

  • File Transfer Protocol Secure (FTPS): File transfer with TLS encryption

  • File Transfer Protocol (FTP): Unencrypted file transfer

If you select FTPS, you must choose a certificate stored in Amazon Web ServicesCertificate Manager (ACM) which will be used to identify your server when clients connect to it over FTPS.

If Protocol includes either FTP or FTPS, then the EndpointType must be VPC and the IdentityProviderType must be AWS_DIRECTORY_SERVICE or API_GATEWAY.

If Protocol includes FTP, then AddressAllocationIds cannot be associated.

If Protocol is set only to SFTP, the EndpointType can be set to PUBLIC and the IdentityProviderType can be set to SERVICE_MANAGED.

" } @@ -858,20 +1346,29 @@ "Role": { "base": null, "refs": { - "CreateAccessRequest$Role": "

Specifies the Amazon Resource Name (ARN) of the IAM role that controls your users' access to your Amazon S3 bucket or EFS file system. The policies attached to this role determine the level of access that you want to provide your users when transferring files into and out of your Amazon S3 bucket or EFS file system. The IAM role should also contain a trust relationship that allows the server to access your resources when servicing your users' transfer requests.

", - "CreateServerRequest$LoggingRole": "

Specifies the Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFS events. When set, user activity can be viewed in your CloudWatch logs.

", - "CreateUserRequest$Role": "

Specifies the Amazon Resource Name (ARN) of the IAM role that controls your users' access to your Amazon S3 bucket or EFS file system. The policies attached to this role determine the level of access that you want to provide your users when transferring files into and out of your Amazon S3 bucket or EFS file system. The IAM role should also contain a trust relationship that allows the server to access your resources when servicing your users' transfer requests.

", - "DescribedAccess$Role": "

Specifies the Amazon Resource Name (ARN) of the IAM role that controls your users' access to your Amazon S3 bucket or EFS file system. The policies attached to this role determine the level of access that you want to provide your users when transferring files into and out of your Amazon S3 bucket or EFS file system. The IAM role should also contain a trust relationship that allows the server to access your resources when servicing your users' transfer requests.

", + "CreateAccessRequest$Role": "

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that controls your users' access to your Amazon S3 bucket or Amazon EFS file system. The policies attached to this role determine the level of access that you want to provide your users when transferring files into and out of your Amazon S3 bucket or Amazon EFS file system. The IAM role should also contain a trust relationship that allows the server to access your resources when servicing your users' transfer requests.

", + "CreateAgreementRequest$AccessRole": "

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that grants access to at least the HomeDirectory of your users' Amazon S3 buckets.

", + "CreateConnectorRequest$AccessRole": "

With AS2, you can send files by calling StartFileTransfer and specifying the file paths in the request parameter, SendFilePaths. We use the file’s parent directory (for example, for --send-file-paths /bucket/dir/file.txt, parent directory is /bucket/dir/) to temporarily store a processed AS2 message file, store the MDN when we receive them from the partner, and write a final JSON file containing relevant metadata of the transmission. So, the AccessRole needs to provide read and write access to the parent directory of the file location used in the StartFileTransfer request. Additionally, you need to provide read and write access to the parent directory of the files that you intend to send with StartFileTransfer.

", + "CreateConnectorRequest$LoggingRole": "

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that allows a connector to turn on CloudWatch logging for Amazon S3 events. When set, you can view connector activity in your CloudWatch logs.

", + "CreateServerRequest$LoggingRole": "

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFSevents. When set, you can view user activity in your CloudWatch logs.

", + "CreateUserRequest$Role": "

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that controls your users' access to your Amazon S3 bucket or Amazon EFS file system. The policies attached to this role determine the level of access that you want to provide your users when transferring files into and out of your Amazon S3 bucket or Amazon EFS file system. The IAM role should also contain a trust relationship that allows the server to access your resources when servicing your users' transfer requests.

", + "DescribedAccess$Role": "

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that controls your users' access to your Amazon S3 bucket or Amazon EFS file system. The policies attached to this role determine the level of access that you want to provide your users when transferring files into and out of your Amazon S3 bucket or Amazon EFS file system. The IAM role should also contain a trust relationship that allows the server to access your resources when servicing your users' transfer requests.

", + "DescribedAgreement$AccessRole": "

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that grants access to at least the HomeDirectory of your users' Amazon S3 buckets.

", + "DescribedConnector$AccessRole": "

With AS2, you can send files by calling StartFileTransfer and specifying the file paths in the request parameter, SendFilePaths. We use the file’s parent directory (for example, for --send-file-paths /bucket/dir/file.txt, parent directory is /bucket/dir/) to temporarily store a processed AS2 message file, store the MDN when we receive them from the partner, and write a final JSON file containing relevant metadata of the transmission. So, the AccessRole needs to provide read and write access to the parent directory of the file location used in the StartFileTransfer request. Additionally, you need to provide read and write access to the parent directory of the files that you intend to send with StartFileTransfer.

", + "DescribedConnector$LoggingRole": "

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that allows a connector to turn on CloudWatch logging for Amazon S3 events. When set, you can view connector activity in your CloudWatch logs.

", "DescribedExecution$ExecutionRole": "

The IAM role associated with the execution.

", - "DescribedServer$LoggingRole": "

Specifies the Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFS events. When set, user activity can be viewed in your CloudWatch logs.

", - "DescribedUser$Role": "

Specifies the Amazon Resource Name (ARN) of the IAM role that controls your users' access to your Amazon S3 bucket or EFS file system. The policies attached to this role determine the level of access that you want to provide your users when transferring files into and out of your Amazon S3 bucket or EFS file system. The IAM role should also contain a trust relationship that allows the server to access your resources when servicing your users' transfer requests.

", + "DescribedServer$LoggingRole": "

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFSevents. When set, you can view user activity in your CloudWatch logs.

", + "DescribedUser$Role": "

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that controls your users' access to your Amazon S3 bucket or Amazon EFS file system. The policies attached to this role determine the level of access that you want to provide your users when transferring files into and out of your Amazon S3 bucket or Amazon EFS file system. The IAM role should also contain a trust relationship that allows the server to access your resources when servicing your users' transfer requests.

", "IdentityProviderDetails$InvocationRole": "

Provides the type of InvocationRole used to authenticate the user account.

", - "ListedAccess$Role": "

Specifies the Amazon Resource Name (ARN) of the IAM role that controls your users' access to your Amazon S3 bucket or EFS file system. The policies attached to this role determine the level of access that you want to provide your users when transferring files into and out of your Amazon S3 bucket or EFS file system. The IAM role should also contain a trust relationship that allows the server to access your resources when servicing your users' transfer requests.

", - "ListedServer$LoggingRole": "

Specifies the Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFS events. When set, user activity can be viewed in your CloudWatch logs.

", - "ListedUser$Role": "

Specifies the Amazon Resource Name (ARN) of the IAM role that controls your users' access to your Amazon S3 bucket or EFS file system. The policies attached to this role determine the level of access that you want to provide your users when transferring files into and out of your Amazon S3 bucket or EFS file system. The IAM role should also contain a trust relationship that allows the server to access your resources when servicing your users' transfer requests.

The IAM role that controls your users' access to your Amazon S3 bucket for servers with Domain=S3, or your EFS file system for servers with Domain=EFS.

The policies attached to this role determine the level of access you want to provide your users when transferring files into and out of your S3 buckets or EFS file systems.

", - "LoggingConfiguration$LoggingRole": "

Specifies the Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFS events. When set, user activity can be viewed in your CloudWatch logs.

", - "UpdateAccessRequest$Role": "

Specifies the Amazon Resource Name (ARN) of the IAM role that controls your users' access to your Amazon S3 bucket or EFS file system. The policies attached to this role determine the level of access that you want to provide your users when transferring files into and out of your Amazon S3 bucket or EFS file system. The IAM role should also contain a trust relationship that allows the server to access your resources when servicing your users' transfer requests.

", - "UpdateUserRequest$Role": "

Specifies the Amazon Resource Name (ARN) of the IAM role that controls your users' access to your Amazon S3 bucket or EFS file system. The policies attached to this role determine the level of access that you want to provide your users when transferring files into and out of your Amazon S3 bucket or EFS file system. The IAM role should also contain a trust relationship that allows the server to access your resources when servicing your users' transfer requests.

", + "ListedAccess$Role": "

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that controls your users' access to your Amazon S3 bucket or Amazon EFS file system. The policies attached to this role determine the level of access that you want to provide your users when transferring files into and out of your Amazon S3 bucket or Amazon EFS file system. The IAM role should also contain a trust relationship that allows the server to access your resources when servicing your users' transfer requests.

", + "ListedServer$LoggingRole": "

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFSevents. When set, you can view user activity in your CloudWatch logs.

", + "ListedUser$Role": "

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that controls your users' access to your Amazon S3 bucket or Amazon EFS file system. The policies attached to this role determine the level of access that you want to provide your users when transferring files into and out of your Amazon S3 bucket or Amazon EFS file system. The IAM role should also contain a trust relationship that allows the server to access your resources when servicing your users' transfer requests.

The IAM role that controls your users' access to your Amazon S3 bucket for servers with Domain=S3, or your EFS file system for servers with Domain=EFS.

The policies attached to this role determine the level of access you want to provide your users when transferring files into and out of your S3 buckets or EFS file systems.

", + "LoggingConfiguration$LoggingRole": "

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFSevents. When set, you can view user activity in your CloudWatch logs.

", + "UpdateAccessRequest$Role": "

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that controls your users' access to your Amazon S3 bucket or Amazon EFS file system. The policies attached to this role determine the level of access that you want to provide your users when transferring files into and out of your Amazon S3 bucket or Amazon EFS file system. The IAM role should also contain a trust relationship that allows the server to access your resources when servicing your users' transfer requests.

", + "UpdateAgreementRequest$AccessRole": "

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that grants access to at least the HomeDirectory of your users' Amazon S3 buckets.

", + "UpdateConnectorRequest$AccessRole": "

With AS2, you can send files by calling StartFileTransfer and specifying the file paths in the request parameter, SendFilePaths. We use the file’s parent directory (for example, for --send-file-paths /bucket/dir/file.txt, parent directory is /bucket/dir/) to temporarily store a processed AS2 message file, store the MDN when we receive them from the partner, and write a final JSON file containing relevant metadata of the transmission. So, the AccessRole needs to provide read and write access to the parent directory of the file location used in the StartFileTransfer request. Additionally, you need to provide read and write access to the parent directory of the files that you intend to send with StartFileTransfer.

", + "UpdateConnectorRequest$LoggingRole": "

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that allows a connector to turn on CloudWatch logging for Amazon S3 events. When set, you can view connector activity in your CloudWatch logs.

", + "UpdateUserRequest$Role": "

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that controls your users' access to your Amazon S3 bucket or Amazon EFS file system. The policies attached to this role determine the level of access that you want to provide your users when transferring files into and out of your Amazon S3 bucket or Amazon EFS file system. The IAM role should also contain a trust relationship that allows the server to access your resources when servicing your users' transfer requests.

", "WorkflowDetail$ExecutionRole": "

Includes the necessary permissions for S3, EFS, and Lambda operations that Transfer can assume, so that all workflow steps can operate on the required resources

" } }, @@ -889,9 +1386,9 @@ } }, "S3FileLocation": { - "base": "

Specifies the details for the file location for the file being used in the workflow. Only applicable if you are using S3 storage.

", + "base": "

Specifies the details for the file location for the file that's being used in the workflow. Only applicable if you are using S3 storage.

", "refs": { - "FileLocation$S3FileLocation": "

Specifies the S3 details for the file being used, such as bucket, Etag, and so forth.

" + "FileLocation$S3FileLocation": "

Specifies the S3 details for the file being used, such as bucket, ETag, and so forth.

" } }, "S3InputFileLocation": { @@ -903,8 +1400,8 @@ "S3Key": { "base": null, "refs": { - "S3FileLocation$Key": "

The name assigned to the file when it was created in S3. You use the object key to retrieve the object.

", - "S3InputFileLocation$Key": "

The name assigned to the file when it was created in S3. You use the object key to retrieve the object.

" + "S3FileLocation$Key": "

The name assigned to the file when it was created in Amazon S3. You use the object key to retrieve the object.

", + "S3InputFileLocation$Key": "

The name assigned to the file when it was created in Amazon S3. You use the object key to retrieve the object.

" } }, "S3Tag": { @@ -1002,31 +1499,38 @@ "refs": { "CreateAccessRequest$ServerId": "

A system-assigned unique identifier for a server instance. This is the specific server that you added your user to.

", "CreateAccessResponse$ServerId": "

The ID of the server that the user is attached to.

", + "CreateAgreementRequest$ServerId": "

A system-assigned unique identifier for a server instance. This is the specific server that the agreement uses.

", "CreateServerResponse$ServerId": "

The service-assigned ID of the server that is created.

", "CreateUserRequest$ServerId": "

A system-assigned unique identifier for a server instance. This is the specific server that you added your user to.

", "CreateUserResponse$ServerId": "

The ID of the server that the user is attached to.

", "DeleteAccessRequest$ServerId": "

A system-assigned unique identifier for a server that has this user assigned.

", + "DeleteAgreementRequest$ServerId": "

The server ID associated with the agreement that you are deleting.

", "DeleteServerRequest$ServerId": "

A unique system-assigned identifier for a server instance.

", "DeleteSshPublicKeyRequest$ServerId": "

A system-assigned unique identifier for a file transfer protocol-enabled server instance that has the user assigned to it.

", "DeleteUserRequest$ServerId": "

A system-assigned unique identifier for a server instance that has the user assigned to it.

", "DescribeAccessRequest$ServerId": "

A system-assigned unique identifier for a server that has this access assigned.

", "DescribeAccessResponse$ServerId": "

A system-assigned unique identifier for a server that has this access assigned.

", + "DescribeAgreementRequest$ServerId": "

The server ID that's associated with the agreement.

", "DescribeServerRequest$ServerId": "

A system-assigned unique identifier for a server.

", "DescribeUserRequest$ServerId": "

A system-assigned unique identifier for a server that has this user assigned.

", "DescribeUserResponse$ServerId": "

A system-assigned unique identifier for a server that has this user assigned.

", + "DescribedAgreement$ServerId": "

A system-assigned unique identifier for a server instance. This identifier indicates the specific server that the agreement uses.

", "DescribedServer$ServerId": "

Specifies the unique system-assigned identifier for a server that you instantiate.

", "ImportSshPublicKeyRequest$ServerId": "

A system-assigned unique identifier for a server.

", "ImportSshPublicKeyResponse$ServerId": "

A system-assigned unique identifier for a server.

", "ListAccessesRequest$ServerId": "

A system-assigned unique identifier for a server that has users assigned to it.

", "ListAccessesResponse$ServerId": "

A system-assigned unique identifier for a server that has users assigned to it.

", + "ListAgreementsRequest$ServerId": "

The identifier of the server for which you want a list of agreements.

", "ListUsersRequest$ServerId": "

A system-assigned unique identifier for a server that has users assigned to it.

", "ListUsersResponse$ServerId": "

A system-assigned unique identifier for a server that the users are assigned to.

", + "ListedAgreement$ServerId": "

The unique identifier for the agreement.

", "ListedServer$ServerId": "

Specifies the unique system assigned identifier for the servers that were listed.

", "StartServerRequest$ServerId": "

A system-assigned unique identifier for a server that you start.

", "StopServerRequest$ServerId": "

A system-assigned unique identifier for a server that you stopped.

", "TestIdentityProviderRequest$ServerId": "

A system-assigned identifier for a specific server. That server's user authentication method is tested with a user name and password.

", "UpdateAccessRequest$ServerId": "

A system-assigned unique identifier for a server instance. This is the specific server that you added your user to.

", "UpdateAccessResponse$ServerId": "

The ID of the server that the user is attached to.

", + "UpdateAgreementRequest$ServerId": "

A system-assigned unique identifier for a server instance. This is the specific server that the agreement uses.

", "UpdateServerRequest$ServerId": "

A system-assigned unique identifier for a server instance that the user account is assigned to.

", "UpdateServerResponse$ServerId": "

A system-assigned unique identifier for a server that the user account is assigned to.

", "UpdateUserRequest$ServerId": "

A system-assigned unique identifier for a server instance that the user account is assigned to.

", @@ -1042,10 +1546,10 @@ } }, "ServiceMetadata": { - "base": "

A container object for the session details associated with a workflow.

", + "base": "

A container object for the session details that are associated with a workflow.

", "refs": { - "DescribedExecution$ServiceMetadata": "

A container object for the session details associated with a workflow.

", - "ListedExecution$ServiceMetadata": "

A container object for the session details associated with a workflow.

" + "DescribedExecution$ServiceMetadata": "

A container object for the session details that are associated with a workflow.

", + "ListedExecution$ServiceMetadata": "

A container object for the session details that are associated with a workflow.

" } }, "ServiceUnavailableException": { @@ -1065,6 +1569,12 @@ "ProtocolDetails$SetStatOption": "

Use the SetStatOption to ignore the error that is generated when the client attempts to use SETSTAT on a file you are uploading to an S3 bucket.

Some SFTP file transfer clients can attempt to change the attributes of remote files, including timestamp and permissions, using commands, such as SETSTAT when uploading the file. However, these commands are not compatible with object storage systems, such as Amazon S3. Due to this incompatibility, file uploads from these clients can result in errors even when the file is otherwise successfully uploaded.

Set the value to ENABLE_NO_OP to have the Transfer Family server ignore the SETSTAT command, and upload files without needing to make any changes to your SFTP client. While the SetStatOption ENABLE_NO_OP setting ignores the error, it does generate a log entry in Amazon CloudWatch Logs, so you can determine when the client is making a SETSTAT call.

If you want to preserve the original timestamp for your file, and modify other file attributes using SETSTAT, you can use Amazon EFS as backend storage with Transfer Family.

" } }, + "SigningAlg": { + "base": null, + "refs": { + "As2ConnectorConfig$SigningAlgorithm": "

The algorithm that is used to sign the AS2 transfers for this partner profile.

" + } + }, "SourceFileLocation": { "base": null, "refs": { @@ -1114,6 +1624,16 @@ "DescribedUser$SshPublicKeys": "

Specifies the public key portion of the Secure Shell (SSH) keys stored for the described user.

" } }, + "StartFileTransferRequest": { + "base": null, + "refs": { + } + }, + "StartFileTransferResponse": { + "base": null, + "refs": { + } + }, "StartServerRequest": { "base": null, "refs": { @@ -1122,8 +1642,8 @@ "State": { "base": "

Describes the condition of a file transfer protocol-enabled server with respect to its ability to perform file operations. There are six possible states: OFFLINE, ONLINE, STARTING, STOPPING, START_FAILED, and STOP_FAILED.

OFFLINE indicates that the server exists, but that it is not available for file operations. ONLINE indicates that the server is available to perform file operations. STARTING indicates that the server's was instantiated, but the server is not yet available to perform file operations. Under normal conditions, it can take a couple of minutes for the server to be completely operational. Both START_FAILED and STOP_FAILED are error conditions.

", "refs": { - "DescribedServer$State": "

Specifies the condition of a server for the server that was described. A value of ONLINE indicates that the server can accept jobs and transfer files. A State value of OFFLINE means that the server cannot perform file transfer operations.

The states of STARTING and STOPPING indicate that the server is in an intermediate state, either not fully able to respond, or not fully offline. The values of START_FAILED or STOP_FAILED can indicate an error condition.

", - "ListedServer$State": "

Specifies the condition of a server for the server that was described. A value of ONLINE indicates that the server can accept jobs and transfer files. A State value of OFFLINE means that the server cannot perform file transfer operations.

The states of STARTING and STOPPING indicate that the server is in an intermediate state, either not fully able to respond, or not fully offline. The values of START_FAILED or STOP_FAILED can indicate an error condition.

" + "DescribedServer$State": "

The condition of the server that was described. A value of ONLINE indicates that the server can accept jobs and transfer files. A State value of OFFLINE means that the server cannot perform file transfer operations.

The states of STARTING and STOPPING indicate that the server is in an intermediate state, either not fully able to respond, or not fully offline. The values of START_FAILED or STOP_FAILED can indicate an error condition.

", + "ListedServer$State": "

The condition of the server that was described. A value of ONLINE indicates that the server can accept jobs and transfer files. A State value of OFFLINE means that the server cannot perform file transfer operations.

The states of STARTING and STOPPING indicate that the server is in an intermediate state, either not fully able to respond, or not fully offline. The values of START_FAILED or STOP_FAILED can indicate an error condition.

" } }, "StatusCode": { @@ -1194,12 +1714,20 @@ "Tags": { "base": null, "refs": { + "CreateAgreementRequest$Tags": "

Key-value pairs that can be used to group and search for agreements.

", + "CreateConnectorRequest$Tags": "

Key-value pairs that can be used to group and search for connectors. Tags are metadata attached to connectors for any purpose.

", + "CreateProfileRequest$Tags": "

Key-value pairs that can be used to group and search for AS2 profiles.

", "CreateServerRequest$Tags": "

Key-value pairs that can be used to group and search for servers.

", "CreateUserRequest$Tags": "

Key-value pairs that can be used to group and search for users. Tags are metadata attached to users for any purpose.

", "CreateWorkflowRequest$Tags": "

Key-value pairs that can be used to group and search for workflows. Tags are metadata attached to workflows for any purpose.

", + "DescribedAgreement$Tags": "

Key-value pairs that can be used to group and search for agreements.

", + "DescribedCertificate$Tags": "

Key-value pairs that can be used to group and search for certificates.

", + "DescribedConnector$Tags": "

Key-value pairs that can be used to group and search for connectors.

", + "DescribedProfile$Tags": "

Key-value pairs that can be used to group and search for profiles.

", "DescribedServer$Tags": "

Specifies the key-value pairs that you can use to search for and group servers that were assigned to the server that was described.

", "DescribedUser$Tags": "

Specifies the key-value pairs for the user requested. Tag can be used to search for and group users for a variety of purposes.

", "DescribedWorkflow$Tags": "

Key-value pairs that can be used to group and search for workflows. Tags are metadata attached to workflows for any purpose.

", + "ImportCertificateRequest$Tags": "

Key-value pairs that can be used to group and search for certificates.

", "ListTagsForResourceResponse$Tags": "

Key-value pairs that are assigned to a resource, usually for the purpose of grouping and searching for items. Tags are metadata that you define.

", "TagResourceRequest$Tags": "

Key-value pairs assigned to ARNs that you can use to group and search for resources by type. You can attach this metadata to user accounts for any purpose.

" } @@ -1225,6 +1753,12 @@ "ProtocolDetails$TlsSessionResumptionMode": "

A property used with Transfer Family servers that use the FTPS protocol. TLS Session Resumption provides a mechanism to resume or share a negotiated secret key between the control and data connection for an FTPS session. TlsSessionResumptionMode determines whether or not the server resumes recent, negotiated sessions through a unique session ID. This property is available during CreateServer and UpdateServer calls. If a TlsSessionResumptionMode value is not specified during CreateServer, it is set to ENFORCED by default.

  • DISABLED: the server does not process TLS session resumption client requests and creates a new TLS session for each request.

  • ENABLED: the server processes and accepts clients that are performing TLS session resumption. The server doesn't reject client data connections that do not perform the TLS session resumption client processing.

  • ENFORCED: the server processes and accepts clients that are performing TLS session resumption. The server rejects client data connections that do not perform the TLS session resumption client processing. Before you set the value to ENFORCED, test your clients.

    Not all FTPS clients perform TLS session resumption. So, if you choose to enforce TLS session resumption, you prevent any connections from FTPS clients that don't perform the protocol negotiation. To determine whether or not you can use the ENFORCED value, you need to test your clients.

" } }, + "TransferId": { + "base": null, + "refs": { + "StartFileTransferResponse$TransferId": "

Returns the unique identifier for this file transfer.

" + } + }, "UntagResourceRequest": { "base": null, "refs": { @@ -1240,6 +1774,46 @@ "refs": { } }, + "UpdateAgreementRequest": { + "base": null, + "refs": { + } + }, + "UpdateAgreementResponse": { + "base": null, + "refs": { + } + }, + "UpdateCertificateRequest": { + "base": null, + "refs": { + } + }, + "UpdateCertificateResponse": { + "base": null, + "refs": { + } + }, + "UpdateConnectorRequest": { + "base": null, + "refs": { + } + }, + "UpdateConnectorResponse": { + "base": null, + "refs": { + } + }, + "UpdateProfileRequest": { + "base": null, + "refs": { + } + }, + "UpdateProfileResponse": { + "base": null, + "refs": { + } + }, "UpdateServerRequest": { "base": null, "refs": { @@ -1263,8 +1837,12 @@ "Url": { "base": null, "refs": { + "CreateConnectorRequest$Url": "

The URL of the partner's AS2 endpoint.

", + "DescribedConnector$Url": "

The URL of the partner's AS2 endpoint.

", "IdentityProviderDetails$Url": "

Provides the location of the service endpoint used to authenticate users.

", - "TestIdentityProviderResponse$Url": "

The endpoint of the service used to authenticate a user.

" + "ListedConnector$Url": "

The URL of the partner's AS2 endpoint.

", + "TestIdentityProviderResponse$Url": "

The endpoint of the service used to authenticate a user.

", + "UpdateConnectorRequest$Url": "

The URL of the partner's AS2 endpoint.

" } }, "UserCount": { @@ -1287,7 +1865,7 @@ "CreateUserResponse$UserName": "

A unique string that identifies a user account associated with a server.

", "DeleteSshPublicKeyRequest$UserName": "

A unique string that identifies a user whose public key is being deleted.

", "DeleteUserRequest$UserName": "

A unique string that identifies a user that is being deleted from a server.

", - "DescribeUserRequest$UserName": "

The name of the user assigned to one or more servers. User names are part of the sign-in credentials to use the Amazon Web Services Transfer Family service and perform file transfer tasks.

", + "DescribeUserRequest$UserName": "

The name of the user assigned to one or more servers. User names are part of the sign-in credentials to use the Transfer Family service and perform file transfer tasks.

", "DescribedUser$UserName": "

Specifies the name of the user that was requested to be described. User names are used for authentication purposes. This is the string that will be used by your user when they log in to your server.

", "ImportSshPublicKeyRequest$UserName": "

The name of the user account that is assigned to one or more servers.

", "ImportSshPublicKeyResponse$UserName": "

A user name assigned to the ServerID value that you specified.

", @@ -1325,7 +1903,7 @@ } }, "WorkflowDetail": { - "base": "

Specifies the workflow ID for the workflow to assign and the execution role used for executing the workflow.

", + "base": "

Specifies the workflow ID for the workflow to assign and the execution role that's used for executing the workflow.

", "refs": { "OnUploadWorkflowDetails$member": null } @@ -1333,9 +1911,9 @@ "WorkflowDetails": { "base": "

Container for the WorkflowDetail data type. It is used by actions that trigger a workflow to begin execution.

", "refs": { - "CreateServerRequest$WorkflowDetails": "

Specifies the workflow ID for the workflow to assign and the execution role used for executing the workflow.

", - "DescribedServer$WorkflowDetails": "

Specifies the workflow ID for the workflow to assign and the execution role used for executing the workflow.

", - "UpdateServerRequest$WorkflowDetails": "

Specifies the workflow ID for the workflow to assign and the execution role used for executing the workflow.

To remove an associated workflow from a server, you can provide an empty OnUpload object, as in the following example.

aws transfer update-server --server-id s-01234567890abcdef --workflow-details '{\"OnUpload\":[]}'

" + "CreateServerRequest$WorkflowDetails": "

Specifies the workflow ID for the workflow to assign and the execution role that's used for executing the workflow.

", + "DescribedServer$WorkflowDetails": "

Specifies the workflow ID for the workflow to assign and the execution role that's used for executing the workflow.

", + "UpdateServerRequest$WorkflowDetails": "

Specifies the workflow ID for the workflow to assign and the execution role that's used for executing the workflow.

To remove an associated workflow from a server, you can provide an empty OnUpload object, as in the following example.

aws transfer update-server --server-id s-01234567890abcdef --workflow-details '{\"OnUpload\":[]}'

" } }, "WorkflowId": { @@ -1372,14 +1950,14 @@ "WorkflowStepType": { "base": null, "refs": { - "ExecutionStepResult$StepType": "

One of the available step types.

  • COPY: copy the file to another location

  • CUSTOM: custom step with a lambda target

  • DELETE: delete the file

  • TAG: add a tag to the file

", - "WorkflowStep$Type": "

Currently, the following step types are supported.

  • COPY: copy the file to another location

  • CUSTOM: custom step with a lambda target

  • DELETE: delete the file

  • TAG: add a tag to the file

" + "ExecutionStepResult$StepType": "

One of the available step types.

  • COPY: Copy the file to another location.

  • CUSTOM: Perform a custom step with an Lambda function target.

  • DELETE: Delete the file.

  • TAG: Add a tag to the file.

", + "WorkflowStep$Type": "

Currently, the following step types are supported.

  • COPY: Copy the file to another location.

  • CUSTOM: Perform a custom step with an Lambda function target.

  • DELETE: Delete the file.

  • TAG: Add a tag to the file.

" } }, "WorkflowSteps": { "base": null, "refs": { - "CreateWorkflowRequest$Steps": "

Specifies the details for the steps that are in the specified workflow.

The TYPE specifies which of the following actions is being taken for this step.

  • COPY: copy the file to another location

  • CUSTOM: custom step with a lambda target

  • DELETE: delete the file

  • TAG: add a tag to the file

Currently, copying and tagging are supported only on S3.

For file location, you specify either the S3 bucket and key, or the EFS filesystem ID and path.

", + "CreateWorkflowRequest$Steps": "

Specifies the details for the steps that are in the specified workflow.

The TYPE specifies which of the following actions is being taken for this step.

  • COPY: Copy the file to another location.

  • CUSTOM: Perform a custom step with an Lambda function target.

  • DELETE: Delete the file.

  • TAG: Add a tag to the file.

Currently, copying and tagging are supported only on S3.

For file location, you specify either the S3 bucket and key, or the EFS file system ID and path.

", "CreateWorkflowRequest$OnExceptionSteps": "

Specifies the steps (actions) to take if errors are encountered during execution of the workflow.

For custom steps, the lambda function needs to send FAILURE to the call back API to kick off the exception steps. Additionally, if the lambda does not send SUCCESS before it times out, the exception steps are executed.

", "DescribedWorkflow$Steps": "

Specifies the details for the steps that are in the specified workflow.

", "DescribedWorkflow$OnExceptionSteps": "

Specifies the steps (actions) to take if errors are encountered during execution of the workflow.

" diff --git a/models/apis/transfer/2018-11-05/paginators-1.json b/models/apis/transfer/2018-11-05/paginators-1.json index 0a5276f7650..6b417fb3900 100644 --- a/models/apis/transfer/2018-11-05/paginators-1.json +++ b/models/apis/transfer/2018-11-05/paginators-1.json @@ -9,6 +9,24 @@ "output_token": "NextToken", "result_key": "Accesses" }, + "ListAgreements": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Agreements" + }, + "ListCertificates": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Certificates" + }, + "ListConnectors": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Connectors" + }, "ListExecutions": { "input_token": "NextToken", "limit_key": "MaxResults", @@ -18,6 +36,12 @@ "output_token": "NextToken", "result_key": "Executions" }, + "ListProfiles": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Profiles" + }, "ListSecurityPolicies": { "input_token": "NextToken", "limit_key": "MaxResults", diff --git a/service/appsync/api.go b/service/appsync/api.go index 14eeb5c1e92..d1f1f426c58 100644 --- a/service/appsync/api.go +++ b/service/appsync/api.go @@ -1701,6 +1701,100 @@ func (c *AppSync) DisassociateApiWithContext(ctx aws.Context, input *Disassociat return out, req.Send() } +const opEvaluateMappingTemplate = "EvaluateMappingTemplate" + +// EvaluateMappingTemplateRequest generates a "aws/request.Request" representing the +// client's request for the EvaluateMappingTemplate 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 EvaluateMappingTemplate for more information on using the EvaluateMappingTemplate +// 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 EvaluateMappingTemplateRequest method. +// req, resp := client.EvaluateMappingTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/EvaluateMappingTemplate +func (c *AppSync) EvaluateMappingTemplateRequest(input *EvaluateMappingTemplateInput) (req *request.Request, output *EvaluateMappingTemplateOutput) { + op := &request.Operation{ + Name: opEvaluateMappingTemplate, + HTTPMethod: "POST", + HTTPPath: "/v1/dataplane-evaluatetemplate", + } + + if input == nil { + input = &EvaluateMappingTemplateInput{} + } + + output = &EvaluateMappingTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// EvaluateMappingTemplate API operation for AWS AppSync. +// +// Evaluates a given template and returns the response. The mapping template +// can be a request or response template. +// +// Request templates take the incoming request after a GraphQL operation is +// parsed and convert it into a request configuration for the selected data +// source operation. Response templates interpret responses from the data source +// and map it to the shape of the GraphQL field output type. +// +// Mapping templates are written in the Apache Velocity Template Language (VTL). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS AppSync's +// API operation EvaluateMappingTemplate for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have access to perform this operation on this resource. +// +// * InternalFailureException +// An internal AppSync error occurred. Try your request again. +// +// * BadRequestException +// The request is not well formed. For example, a value is invalid or a required +// field is missing. Check the field values, and then try again. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/EvaluateMappingTemplate +func (c *AppSync) EvaluateMappingTemplate(input *EvaluateMappingTemplateInput) (*EvaluateMappingTemplateOutput, error) { + req, out := c.EvaluateMappingTemplateRequest(input) + return out, req.Send() +} + +// EvaluateMappingTemplateWithContext is the same as EvaluateMappingTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See EvaluateMappingTemplate 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 *AppSync) EvaluateMappingTemplateWithContext(ctx aws.Context, input *EvaluateMappingTemplateInput, opts ...request.Option) (*EvaluateMappingTemplateOutput, error) { + req, out := c.EvaluateMappingTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opFlushApiCache = "FlushApiCache" // FlushApiCacheRequest generates a "aws/request.Request" representing the @@ -5476,7 +5570,9 @@ type CachingConfig struct { // The TTL in seconds for a resolver that has caching activated. // // Valid values are 1–3,600 seconds. - Ttl *int64 `locationName:"ttl" type:"long"` + // + // Ttl is a required field + Ttl *int64 `locationName:"ttl" type:"long" required:"true"` } // String returns the string representation. @@ -5497,6 +5593,19 @@ func (s CachingConfig) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *CachingConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CachingConfig"} + if s.Ttl == nil { + invalidParams.Add(request.NewErrParamRequired("Ttl")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetCachingKeys sets the CachingKeys field's value. func (s *CachingConfig) SetCachingKeys(v []*string) *CachingConfig { s.CachingKeys = v @@ -5514,7 +5623,7 @@ type CognitoUserPoolConfig struct { _ struct{} `type:"structure"` // A regular expression for validating the incoming Amazon Cognito user pool - // app client ID. + // app client ID. If this value isn't set, no filtering is applied. AppIdClientRegex *string `locationName:"appIdClientRegex" type:"string"` // The Amazon Web Services Region in which the user pool was created. @@ -6732,6 +6841,11 @@ func (s *CreateResolverInput) Validate() error { if s.TypeName != nil && len(*s.TypeName) < 1 { invalidParams.Add(request.NewErrParamMinLen("TypeName", 1)) } + if s.CachingConfig != nil { + if err := s.CachingConfig.Validate(); err != nil { + invalidParams.AddNested("CachingConfig", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -8106,6 +8220,147 @@ func (s *ElasticsearchDataSourceConfig) SetEndpoint(v string) *ElasticsearchData return s } +// Contains the list of errors generated when attempting to evaluate a mapping +// template. +type ErrorDetail struct { + _ struct{} `type:"structure"` + + // The error payload. + 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 ErrorDetail) 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 ErrorDetail) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *ErrorDetail) SetMessage(v string) *ErrorDetail { + s.Message = &v + return s +} + +type EvaluateMappingTemplateInput struct { + _ struct{} `type:"structure"` + + // The map that holds all of the contextual information for your resolver invocation. + // A context is required for this action. + // + // Context is a required field + Context *string `locationName:"context" min:"2" type:"string" required:"true"` + + // The mapping template; this can be a request or response template. A template + // is required for this action. + // + // Template is a required field + Template *string `locationName:"template" min:"2" 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 EvaluateMappingTemplateInput) 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 EvaluateMappingTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EvaluateMappingTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EvaluateMappingTemplateInput"} + if s.Context == nil { + invalidParams.Add(request.NewErrParamRequired("Context")) + } + if s.Context != nil && len(*s.Context) < 2 { + invalidParams.Add(request.NewErrParamMinLen("Context", 2)) + } + if s.Template == nil { + invalidParams.Add(request.NewErrParamRequired("Template")) + } + if s.Template != nil && len(*s.Template) < 2 { + invalidParams.Add(request.NewErrParamMinLen("Template", 2)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContext sets the Context field's value. +func (s *EvaluateMappingTemplateInput) SetContext(v string) *EvaluateMappingTemplateInput { + s.Context = &v + return s +} + +// SetTemplate sets the Template field's value. +func (s *EvaluateMappingTemplateInput) SetTemplate(v string) *EvaluateMappingTemplateInput { + s.Template = &v + return s +} + +type EvaluateMappingTemplateOutput struct { + _ struct{} `type:"structure"` + + // The ErrorDetail object. + Error *ErrorDetail `locationName:"error" type:"structure"` + + // The mapping template; this can be a request or response template. + EvaluationResult *string `locationName:"evaluationResult" 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 EvaluateMappingTemplateOutput) 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 EvaluateMappingTemplateOutput) GoString() string { + return s.String() +} + +// SetError sets the Error field's value. +func (s *EvaluateMappingTemplateOutput) SetError(v *ErrorDetail) *EvaluateMappingTemplateOutput { + s.Error = v + return s +} + +// SetEvaluationResult sets the EvaluationResult field's value. +func (s *EvaluateMappingTemplateOutput) SetEvaluationResult(v string) *EvaluateMappingTemplateOutput { + s.EvaluationResult = &v + return s +} + // Represents the input of a FlushApiCache operation. type FlushApiCacheInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -12880,6 +13135,11 @@ func (s *UpdateResolverInput) Validate() error { if s.TypeName != nil && len(*s.TypeName) < 1 { invalidParams.Add(request.NewErrParamMinLen("TypeName", 1)) } + if s.CachingConfig != nil { + if err := s.CachingConfig.Validate(); err != nil { + invalidParams.AddNested("CachingConfig", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -13109,7 +13369,7 @@ type UserPoolConfig struct { _ struct{} `type:"structure"` // A regular expression for validating the incoming Amazon Cognito user pool - // app client ID. + // app client ID. If this value isn't set, no filtering is applied. AppIdClientRegex *string `locationName:"appIdClientRegex" type:"string"` // The Amazon Web Services Region in which the user pool was created. diff --git a/service/appsync/appsynciface/interface.go b/service/appsync/appsynciface/interface.go index 700433aa7a7..1437afb6b5e 100644 --- a/service/appsync/appsynciface/interface.go +++ b/service/appsync/appsynciface/interface.go @@ -132,6 +132,10 @@ type AppSyncAPI interface { DisassociateApiWithContext(aws.Context, *appsync.DisassociateApiInput, ...request.Option) (*appsync.DisassociateApiOutput, error) DisassociateApiRequest(*appsync.DisassociateApiInput) (*request.Request, *appsync.DisassociateApiOutput) + EvaluateMappingTemplate(*appsync.EvaluateMappingTemplateInput) (*appsync.EvaluateMappingTemplateOutput, error) + EvaluateMappingTemplateWithContext(aws.Context, *appsync.EvaluateMappingTemplateInput, ...request.Option) (*appsync.EvaluateMappingTemplateOutput, error) + EvaluateMappingTemplateRequest(*appsync.EvaluateMappingTemplateInput) (*request.Request, *appsync.EvaluateMappingTemplateOutput) + FlushApiCache(*appsync.FlushApiCacheInput) (*appsync.FlushApiCacheOutput, error) FlushApiCacheWithContext(aws.Context, *appsync.FlushApiCacheInput, ...request.Option) (*appsync.FlushApiCacheOutput, error) FlushApiCacheRequest(*appsync.FlushApiCacheInput) (*request.Request, *appsync.FlushApiCacheOutput) diff --git a/service/detective/api.go b/service/detective/api.go index b724780fa65..ed226838963 100644 --- a/service/detective/api.go +++ b/service/detective/api.go @@ -107,6 +107,176 @@ func (c *Detective) AcceptInvitationWithContext(ctx aws.Context, input *AcceptIn return out, req.Send() } +const opBatchGetGraphMemberDatasources = "BatchGetGraphMemberDatasources" + +// BatchGetGraphMemberDatasourcesRequest generates a "aws/request.Request" representing the +// client's request for the BatchGetGraphMemberDatasources 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 BatchGetGraphMemberDatasources for more information on using the BatchGetGraphMemberDatasources +// 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 BatchGetGraphMemberDatasourcesRequest method. +// req, resp := client.BatchGetGraphMemberDatasourcesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/BatchGetGraphMemberDatasources +func (c *Detective) BatchGetGraphMemberDatasourcesRequest(input *BatchGetGraphMemberDatasourcesInput) (req *request.Request, output *BatchGetGraphMemberDatasourcesOutput) { + op := &request.Operation{ + Name: opBatchGetGraphMemberDatasources, + HTTPMethod: "POST", + HTTPPath: "/graph/datasources/get", + } + + if input == nil { + input = &BatchGetGraphMemberDatasourcesInput{} + } + + output = &BatchGetGraphMemberDatasourcesOutput{} + req = c.newRequest(op, input, output) + return +} + +// BatchGetGraphMemberDatasources API operation for Amazon Detective. +// +// Gets data source package information for the behavior graph. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Detective's +// API operation BatchGetGraphMemberDatasources for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// The request was valid but failed because of a problem with the service. +// +// * ResourceNotFoundException +// The request refers to a nonexistent resource. +// +// * ValidationException +// The request parameters are invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/BatchGetGraphMemberDatasources +func (c *Detective) BatchGetGraphMemberDatasources(input *BatchGetGraphMemberDatasourcesInput) (*BatchGetGraphMemberDatasourcesOutput, error) { + req, out := c.BatchGetGraphMemberDatasourcesRequest(input) + return out, req.Send() +} + +// BatchGetGraphMemberDatasourcesWithContext is the same as BatchGetGraphMemberDatasources with the addition of +// the ability to pass a context and additional request options. +// +// See BatchGetGraphMemberDatasources 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 *Detective) BatchGetGraphMemberDatasourcesWithContext(ctx aws.Context, input *BatchGetGraphMemberDatasourcesInput, opts ...request.Option) (*BatchGetGraphMemberDatasourcesOutput, error) { + req, out := c.BatchGetGraphMemberDatasourcesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opBatchGetMembershipDatasources = "BatchGetMembershipDatasources" + +// BatchGetMembershipDatasourcesRequest generates a "aws/request.Request" representing the +// client's request for the BatchGetMembershipDatasources 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 BatchGetMembershipDatasources for more information on using the BatchGetMembershipDatasources +// 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 BatchGetMembershipDatasourcesRequest method. +// req, resp := client.BatchGetMembershipDatasourcesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/BatchGetMembershipDatasources +func (c *Detective) BatchGetMembershipDatasourcesRequest(input *BatchGetMembershipDatasourcesInput) (req *request.Request, output *BatchGetMembershipDatasourcesOutput) { + op := &request.Operation{ + Name: opBatchGetMembershipDatasources, + HTTPMethod: "POST", + HTTPPath: "/membership/datasources/get", + } + + if input == nil { + input = &BatchGetMembershipDatasourcesInput{} + } + + output = &BatchGetMembershipDatasourcesOutput{} + req = c.newRequest(op, input, output) + return +} + +// BatchGetMembershipDatasources API operation for Amazon Detective. +// +// Gets information on the data source package history for 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 Amazon Detective's +// API operation BatchGetMembershipDatasources for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// The request was valid but failed because of a problem with the service. +// +// * ResourceNotFoundException +// The request refers to a nonexistent resource. +// +// * ValidationException +// The request parameters are invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/BatchGetMembershipDatasources +func (c *Detective) BatchGetMembershipDatasources(input *BatchGetMembershipDatasourcesInput) (*BatchGetMembershipDatasourcesOutput, error) { + req, out := c.BatchGetMembershipDatasourcesRequest(input) + return out, req.Send() +} + +// BatchGetMembershipDatasourcesWithContext is the same as BatchGetMembershipDatasources with the addition of +// the ability to pass a context and additional request options. +// +// See BatchGetMembershipDatasources 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 *Detective) BatchGetMembershipDatasourcesWithContext(ctx aws.Context, input *BatchGetMembershipDatasourcesInput, opts ...request.Option) (*BatchGetMembershipDatasourcesOutput, error) { + req, out := c.BatchGetMembershipDatasourcesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateGraph = "CreateGraph" // CreateGraphRequest generates a "aws/request.Request" representing the @@ -679,12 +849,18 @@ func (c *Detective) DisableOrganizationAdminAccountRequest(input *DisableOrganiz // DisableOrganizationAdminAccount API operation for Amazon Detective. // -// Removes the Detective administrator account for the organization in the current -// Region. Deletes the behavior graph for that account. +// Removes the Detective administrator account in the current Region. Deletes +// the organization behavior graph. +// +// Can only be called by the organization management account. +// +// Removing the Detective administrator account does not affect the delegated +// administrator account for Detective in Organizations. // -// Can only be called by the organization management account. Before you can -// select a different Detective administrator account, you must remove the Detective -// administrator account in all Regions. +// To remove the delegated administrator account in Organizations, use the Organizations +// API. Removing the delegated administrator account also removes the Detective +// administrator account in all Regions, except for Regions where the Detective +// administrator account is the organization 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 @@ -874,9 +1050,15 @@ func (c *Detective) EnableOrganizationAdminAccountRequest(input *EnableOrganizat // // Can only be called by the organization management account. // -// The Detective administrator account for an organization must be the same -// in all Regions. If you already designated a Detective administrator account -// in another Region, then you must designate the same account. +// If the organization has a delegated administrator account in Organizations, +// then the Detective administrator account must be either the delegated administrator +// account or the organization management account. +// +// If the organization does not have a delegated administrator account in Organizations, +// then you can choose any account in the organization. If you choose an account +// other than the organization management account, Detective calls Organizations +// to make that account the delegated administrator account for Detective. The +// organization management account cannot be the delegated administrator 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 @@ -1004,6 +1186,149 @@ func (c *Detective) GetMembersWithContext(ctx aws.Context, input *GetMembersInpu return out, req.Send() } +const opListDatasourcePackages = "ListDatasourcePackages" + +// ListDatasourcePackagesRequest generates a "aws/request.Request" representing the +// client's request for the ListDatasourcePackages 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 ListDatasourcePackages for more information on using the ListDatasourcePackages +// 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 ListDatasourcePackagesRequest method. +// req, resp := client.ListDatasourcePackagesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/ListDatasourcePackages +func (c *Detective) ListDatasourcePackagesRequest(input *ListDatasourcePackagesInput) (req *request.Request, output *ListDatasourcePackagesOutput) { + op := &request.Operation{ + Name: opListDatasourcePackages, + HTTPMethod: "POST", + HTTPPath: "/graph/datasources/list", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListDatasourcePackagesInput{} + } + + output = &ListDatasourcePackagesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListDatasourcePackages API operation for Amazon Detective. +// +// Lists data source packages in the behavior graph. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Detective's +// API operation ListDatasourcePackages for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// The request was valid but failed because of a problem with the service. +// +// * ResourceNotFoundException +// The request refers to a nonexistent resource. +// +// * ValidationException +// The request parameters are invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/ListDatasourcePackages +func (c *Detective) ListDatasourcePackages(input *ListDatasourcePackagesInput) (*ListDatasourcePackagesOutput, error) { + req, out := c.ListDatasourcePackagesRequest(input) + return out, req.Send() +} + +// ListDatasourcePackagesWithContext is the same as ListDatasourcePackages with the addition of +// the ability to pass a context and additional request options. +// +// See ListDatasourcePackages 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 *Detective) ListDatasourcePackagesWithContext(ctx aws.Context, input *ListDatasourcePackagesInput, opts ...request.Option) (*ListDatasourcePackagesOutput, error) { + req, out := c.ListDatasourcePackagesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListDatasourcePackagesPages iterates over the pages of a ListDatasourcePackages operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListDatasourcePackages 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 ListDatasourcePackages operation. +// pageNum := 0 +// err := client.ListDatasourcePackagesPages(params, +// func(page *detective.ListDatasourcePackagesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Detective) ListDatasourcePackagesPages(input *ListDatasourcePackagesInput, fn func(*ListDatasourcePackagesOutput, bool) bool) error { + return c.ListDatasourcePackagesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListDatasourcePackagesPagesWithContext same as ListDatasourcePackagesPages 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 *Detective) ListDatasourcePackagesPagesWithContext(ctx aws.Context, input *ListDatasourcePackagesInput, fn func(*ListDatasourcePackagesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListDatasourcePackagesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListDatasourcePackagesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListDatasourcePackagesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListGraphs = "ListGraphs" // ListGraphsRequest generates a "aws/request.Request" representing the @@ -2052,61 +2377,160 @@ func (c *Detective) UntagResourceWithContext(ctx aws.Context, input *UntagResour return out, req.Send() } -const opUpdateOrganizationConfiguration = "UpdateOrganizationConfiguration" +const opUpdateDatasourcePackages = "UpdateDatasourcePackages" -// UpdateOrganizationConfigurationRequest generates a "aws/request.Request" representing the -// client's request for the UpdateOrganizationConfiguration operation. The "output" return +// UpdateDatasourcePackagesRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDatasourcePackages 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 UpdateOrganizationConfiguration for more information on using the UpdateOrganizationConfiguration +// See UpdateDatasourcePackages for more information on using the UpdateDatasourcePackages // 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 UpdateOrganizationConfigurationRequest method. -// req, resp := client.UpdateOrganizationConfigurationRequest(params) +// // Example sending a request using the UpdateDatasourcePackagesRequest method. +// req, resp := client.UpdateDatasourcePackagesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/UpdateOrganizationConfiguration -func (c *Detective) UpdateOrganizationConfigurationRequest(input *UpdateOrganizationConfigurationInput) (req *request.Request, output *UpdateOrganizationConfigurationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/UpdateDatasourcePackages +func (c *Detective) UpdateDatasourcePackagesRequest(input *UpdateDatasourcePackagesInput) (req *request.Request, output *UpdateDatasourcePackagesOutput) { op := &request.Operation{ - Name: opUpdateOrganizationConfiguration, + Name: opUpdateDatasourcePackages, HTTPMethod: "POST", - HTTPPath: "/orgs/updateOrganizationConfiguration", + HTTPPath: "/graph/datasources/update", } if input == nil { - input = &UpdateOrganizationConfigurationInput{} + input = &UpdateDatasourcePackagesInput{} } - output = &UpdateOrganizationConfigurationOutput{} + output = &UpdateDatasourcePackagesOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateOrganizationConfiguration API operation for Amazon Detective. +// UpdateDatasourcePackages API operation for Amazon Detective. // -// Updates the configuration for the Organizations integration in the current -// Region. Can only be called by the Detective administrator account for the -// organization. +// Starts a data source packages for the behavior graph. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Detective's -// API operation UpdateOrganizationConfiguration for usage and error information. +// API operation UpdateDatasourcePackages for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// The request was valid but failed because of a problem with the service. +// +// * ResourceNotFoundException +// The request refers to a nonexistent resource. +// +// * ServiceQuotaExceededException +// This request cannot be completed for one of the following reasons. +// +// * The request would cause the number of member accounts in the behavior +// graph to exceed the maximum allowed. A behavior graph cannot have more +// than 1200 member accounts. +// +// * The request would cause the data rate for the behavior graph to exceed +// the maximum allowed. +// +// * Detective is unable to verify the data rate for the member account. +// This is usually because the member account is not enrolled in Amazon GuardDuty. +// +// * ValidationException +// The request parameters are invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/UpdateDatasourcePackages +func (c *Detective) UpdateDatasourcePackages(input *UpdateDatasourcePackagesInput) (*UpdateDatasourcePackagesOutput, error) { + req, out := c.UpdateDatasourcePackagesRequest(input) + return out, req.Send() +} + +// UpdateDatasourcePackagesWithContext is the same as UpdateDatasourcePackages with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDatasourcePackages 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 *Detective) UpdateDatasourcePackagesWithContext(ctx aws.Context, input *UpdateDatasourcePackagesInput, opts ...request.Option) (*UpdateDatasourcePackagesOutput, error) { + req, out := c.UpdateDatasourcePackagesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateOrganizationConfiguration = "UpdateOrganizationConfiguration" + +// UpdateOrganizationConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateOrganizationConfiguration 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 UpdateOrganizationConfiguration for more information on using the UpdateOrganizationConfiguration +// 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 UpdateOrganizationConfigurationRequest method. +// req, resp := client.UpdateOrganizationConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/UpdateOrganizationConfiguration +func (c *Detective) UpdateOrganizationConfigurationRequest(input *UpdateOrganizationConfigurationInput) (req *request.Request, output *UpdateOrganizationConfigurationOutput) { + op := &request.Operation{ + Name: opUpdateOrganizationConfiguration, + HTTPMethod: "POST", + HTTPPath: "/orgs/updateOrganizationConfiguration", + } + + if input == nil { + input = &UpdateOrganizationConfigurationInput{} + } + + output = &UpdateOrganizationConfigurationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateOrganizationConfiguration API operation for Amazon Detective. +// +// Updates the configuration for the Organizations integration in the current +// Region. Can only be called by the Detective administrator account for the +// 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 Amazon Detective's +// API operation UpdateOrganizationConfiguration for usage and error information. // // Returned Error Types: // * InternalServerException @@ -2333,6 +2757,201 @@ func (s *Administrator) SetGraphArn(v string) *Administrator { return s } +type BatchGetGraphMemberDatasourcesInput struct { + _ struct{} `type:"structure"` + + // The list of Amazon Web Services accounts to get data source package information + // on. + // + // AccountIds is a required field + AccountIds []*string `min:"1" type:"list" required:"true"` + + // The ARN of the behavior graph. + // + // GraphArn is a required field + GraphArn *string `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 BatchGetGraphMemberDatasourcesInput) 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 BatchGetGraphMemberDatasourcesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchGetGraphMemberDatasourcesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchGetGraphMemberDatasourcesInput"} + if s.AccountIds == nil { + invalidParams.Add(request.NewErrParamRequired("AccountIds")) + } + if s.AccountIds != nil && len(s.AccountIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1)) + } + if s.GraphArn == nil { + invalidParams.Add(request.NewErrParamRequired("GraphArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccountIds sets the AccountIds field's value. +func (s *BatchGetGraphMemberDatasourcesInput) SetAccountIds(v []*string) *BatchGetGraphMemberDatasourcesInput { + s.AccountIds = v + return s +} + +// SetGraphArn sets the GraphArn field's value. +func (s *BatchGetGraphMemberDatasourcesInput) SetGraphArn(v string) *BatchGetGraphMemberDatasourcesInput { + s.GraphArn = &v + return s +} + +type BatchGetGraphMemberDatasourcesOutput struct { + _ struct{} `type:"structure"` + + // Details on the status of data source packages for members of the behavior + // graph. + MemberDatasources []*MembershipDatasources `type:"list"` + + // Accounts that data source package information could not be retrieved for. + UnprocessedAccounts []*UnprocessedAccount `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 BatchGetGraphMemberDatasourcesOutput) 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 BatchGetGraphMemberDatasourcesOutput) GoString() string { + return s.String() +} + +// SetMemberDatasources sets the MemberDatasources field's value. +func (s *BatchGetGraphMemberDatasourcesOutput) SetMemberDatasources(v []*MembershipDatasources) *BatchGetGraphMemberDatasourcesOutput { + s.MemberDatasources = v + return s +} + +// SetUnprocessedAccounts sets the UnprocessedAccounts field's value. +func (s *BatchGetGraphMemberDatasourcesOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *BatchGetGraphMemberDatasourcesOutput { + s.UnprocessedAccounts = v + return s +} + +type BatchGetMembershipDatasourcesInput struct { + _ struct{} `type:"structure"` + + // The ARN of the behavior graph. + // + // GraphArns is a required field + GraphArns []*string `min:"1" 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 BatchGetMembershipDatasourcesInput) 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 BatchGetMembershipDatasourcesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchGetMembershipDatasourcesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchGetMembershipDatasourcesInput"} + if s.GraphArns == nil { + invalidParams.Add(request.NewErrParamRequired("GraphArns")) + } + if s.GraphArns != nil && len(s.GraphArns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GraphArns", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGraphArns sets the GraphArns field's value. +func (s *BatchGetMembershipDatasourcesInput) SetGraphArns(v []*string) *BatchGetMembershipDatasourcesInput { + s.GraphArns = v + return s +} + +type BatchGetMembershipDatasourcesOutput struct { + _ struct{} `type:"structure"` + + // Details on the data source package history for an member of the behavior + // graph. + MembershipDatasources []*MembershipDatasources `type:"list"` + + // Graphs that data source package information could not be retrieved for. + UnprocessedGraphs []*UnprocessedGraph `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 BatchGetMembershipDatasourcesOutput) 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 BatchGetMembershipDatasourcesOutput) GoString() string { + return s.String() +} + +// SetMembershipDatasources sets the MembershipDatasources field's value. +func (s *BatchGetMembershipDatasourcesOutput) SetMembershipDatasources(v []*MembershipDatasources) *BatchGetMembershipDatasourcesOutput { + s.MembershipDatasources = v + return s +} + +// SetUnprocessedGraphs sets the UnprocessedGraphs field's value. +func (s *BatchGetMembershipDatasourcesOutput) SetUnprocessedGraphs(v []*UnprocessedGraph) *BatchGetMembershipDatasourcesOutput { + s.UnprocessedGraphs = v + return s +} + // The request attempted an invalid action. type ConflictException struct { _ struct{} `type:"structure"` @@ -2624,6 +3243,89 @@ func (s *CreateMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *C return s } +// Details about the data source packages ingested by your behavior graph. +type DatasourcePackageIngestDetail struct { + _ struct{} `type:"structure"` + + // Details on which data source packages are ingested for a member account. + DatasourcePackageIngestState *string `type:"string" enum:"DatasourcePackageIngestState"` + + // The date a data source package was enabled for this account + LastIngestStateChange map[string]*TimestampForCollection `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 DatasourcePackageIngestDetail) 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 DatasourcePackageIngestDetail) GoString() string { + return s.String() +} + +// SetDatasourcePackageIngestState sets the DatasourcePackageIngestState field's value. +func (s *DatasourcePackageIngestDetail) SetDatasourcePackageIngestState(v string) *DatasourcePackageIngestDetail { + s.DatasourcePackageIngestState = &v + return s +} + +// SetLastIngestStateChange sets the LastIngestStateChange field's value. +func (s *DatasourcePackageIngestDetail) SetLastIngestStateChange(v map[string]*TimestampForCollection) *DatasourcePackageIngestDetail { + s.LastIngestStateChange = v + return s +} + +// Information on the usage of a data source package in the behavior graph. +type DatasourcePackageUsageInfo struct { + _ struct{} `type:"structure"` + + // Total volume of data in bytes per day ingested for a given data source package. + VolumeUsageInBytes *int64 `type:"long"` + + // The data and time when the member account data volume was last updated. The + // value is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z. + VolumeUsageUpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601"` +} + +// 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 DatasourcePackageUsageInfo) 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 DatasourcePackageUsageInfo) GoString() string { + return s.String() +} + +// SetVolumeUsageInBytes sets the VolumeUsageInBytes field's value. +func (s *DatasourcePackageUsageInfo) SetVolumeUsageInBytes(v int64) *DatasourcePackageUsageInfo { + s.VolumeUsageInBytes = &v + return s +} + +// SetVolumeUsageUpdateTime sets the VolumeUsageUpdateTime field's value. +func (s *DatasourcePackageUsageInfo) SetVolumeUsageUpdateTime(v time.Time) *DatasourcePackageUsageInfo { + s.VolumeUsageUpdateTime = &v + return s +} + type DeleteGraphInput struct { _ struct{} `type:"structure"` @@ -3218,12 +3920,152 @@ func (s *Graph) SetCreatedTime(v time.Time) *Graph { return s } -// The request was valid but failed because of a problem with the service. -type InternalServerException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// The request was valid but failed because of a problem with the service. +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 +} + +type ListDatasourcePackagesInput struct { + _ struct{} `type:"structure"` + + // The ARN of the behavior graph. + // + // GraphArn is a required field + GraphArn *string `type:"string" required:"true"` + + // The maximum number of results to return. + MaxResults *int64 `min:"1" type:"integer"` + + // For requests to get the next page of results, the pagination token that was + // returned with the previous set of results. The initial request does not include + // a pagination token. + NextToken *string `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 ListDatasourcePackagesInput) 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 ListDatasourcePackagesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListDatasourcePackagesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDatasourcePackagesInput"} + if s.GraphArn == nil { + invalidParams.Add(request.NewErrParamRequired("GraphArn")) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGraphArn sets the GraphArn field's value. +func (s *ListDatasourcePackagesInput) SetGraphArn(v string) *ListDatasourcePackagesInput { + s.GraphArn = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListDatasourcePackagesInput) SetMaxResults(v int64) *ListDatasourcePackagesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDatasourcePackagesInput) SetNextToken(v string) *ListDatasourcePackagesInput { + s.NextToken = &v + return s +} + +type ListDatasourcePackagesOutput struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"Message" type:"string"` + // Details on the data source packages active in the behavior graph. + DatasourcePackages map[string]*DatasourcePackageIngestDetail `type:"map"` + + // For requests to get the next page of results, the pagination token that was + // returned with the previous set of results. The initial request does not include + // a pagination token. + NextToken *string `min:"1" type:"string"` } // String returns the string representation. @@ -3231,7 +4073,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 ListDatasourcePackagesOutput) String() string { return awsutil.Prettify(s) } @@ -3240,46 +4082,20 @@ 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 ListDatasourcePackagesOutput) 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 +// SetDatasourcePackages sets the DatasourcePackages field's value. +func (s *ListDatasourcePackagesOutput) SetDatasourcePackages(v map[string]*DatasourcePackageIngestDetail) *ListDatasourcePackagesOutput { + s.DatasourcePackages = v + return s } -// RequestID returns the service's response RequestID for request. -func (s *InternalServerException) RequestID() string { - return s.RespMetadata.RequestID +// SetNextToken sets the NextToken field's value. +func (s *ListDatasourcePackagesOutput) SetNextToken(v string) *ListDatasourcePackagesOutput { + s.NextToken = &v + return s } type ListGraphsInput struct { @@ -3670,7 +4486,7 @@ func (s *ListOrganizationAdminAccountsInput) SetNextToken(v string) *ListOrganiz type ListOrganizationAdminAccountsOutput struct { _ struct{} `type:"structure"` - // The list of delegated administrator accounts. + // The list of Detective administrator accounts. Administrators []*Administrator `type:"list"` // If there are more accounts remaining in the results, then this is the pagination @@ -3800,6 +4616,9 @@ type MemberDetail struct { // the behavior graph. AdministratorId *string `min:"12" type:"string"` + // The state of a data source package for the behavior graph. + DatasourcePackageIngestStates map[string]*string `type:"map"` + // For member accounts with a status of ACCEPTED_BUT_DISABLED, the reason that // the member account is not enabled. // @@ -3847,13 +4666,13 @@ type MemberDetail struct { // account is 40 GB per day, then PercentOfGraphUtilization is 25. It represents // 25% of the maximum allowed data volume. // - // Deprecated: This property is deprecated. Use VolumeUsageInBytes instead. + // Deprecated: This property is deprecated. Use VolumeUsageByDatasourcePackage instead. PercentOfGraphUtilization *float64 `deprecated:"true" type:"double"` // The date and time when the graph utilization percentage was last updated. // The value is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z. // - // Deprecated: This property is deprecated. Use VolumeUsageUpdatedTime instead. + // Deprecated: This property is deprecated. Use VolumeUsageByDatasourcePackage instead. PercentOfGraphUtilizationUpdatedTime *time.Time `deprecated:"true" type:"timestamp" timestampFormat:"iso8601"` // The current membership status of the member account. The status can have @@ -3895,12 +4714,20 @@ type MemberDetail struct { // an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z. UpdatedTime *time.Time `type:"timestamp" timestampFormat:"iso8601"` + // Details on the volume of usage for each data source package in a behavior + // graph. + VolumeUsageByDatasourcePackage map[string]*DatasourcePackageUsageInfo `type:"map"` + // The data volume in bytes per day for the member account. - VolumeUsageInBytes *int64 `type:"long"` + // + // Deprecated: This property is deprecated. Use VolumeUsageByDatasourcePackage instead. + VolumeUsageInBytes *int64 `deprecated:"true" type:"long"` // The data and time when the member account data volume was last updated. The // value is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z. - VolumeUsageUpdatedTime *time.Time `type:"timestamp" timestampFormat:"iso8601"` + // + // Deprecated: This property is deprecated. Use VolumeUsageByDatasourcePackage instead. + VolumeUsageUpdatedTime *time.Time `deprecated:"true" type:"timestamp" timestampFormat:"iso8601"` } // String returns the string representation. @@ -3933,6 +4760,12 @@ func (s *MemberDetail) SetAdministratorId(v string) *MemberDetail { return s } +// SetDatasourcePackageIngestStates sets the DatasourcePackageIngestStates field's value. +func (s *MemberDetail) SetDatasourcePackageIngestStates(v map[string]*string) *MemberDetail { + s.DatasourcePackageIngestStates = v + return s +} + // SetDisabledReason sets the DisabledReason field's value. func (s *MemberDetail) SetDisabledReason(v string) *MemberDetail { s.DisabledReason = &v @@ -3993,6 +4826,12 @@ func (s *MemberDetail) SetUpdatedTime(v time.Time) *MemberDetail { return s } +// SetVolumeUsageByDatasourcePackage sets the VolumeUsageByDatasourcePackage field's value. +func (s *MemberDetail) SetVolumeUsageByDatasourcePackage(v map[string]*DatasourcePackageUsageInfo) *MemberDetail { + s.VolumeUsageByDatasourcePackage = v + return s +} + // SetVolumeUsageInBytes sets the VolumeUsageInBytes field's value. func (s *MemberDetail) SetVolumeUsageInBytes(v int64) *MemberDetail { s.VolumeUsageInBytes = &v @@ -4005,6 +4844,56 @@ func (s *MemberDetail) SetVolumeUsageUpdatedTime(v time.Time) *MemberDetail { return s } +// Details on data source packages for members of the behavior graph. +type MembershipDatasources struct { + _ struct{} `type:"structure"` + + // The account identifier of the Amazon Web Services account. + AccountId *string `min:"12" type:"string"` + + // Details on when a data source package was added to a behavior graph. + DatasourcePackageIngestHistory map[string]map[string]*TimestampForCollection `type:"map"` + + // The ARN of the organization behavior graph. + GraphArn *string `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 MembershipDatasources) 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 MembershipDatasources) GoString() string { + return s.String() +} + +// SetAccountId sets the AccountId field's value. +func (s *MembershipDatasources) SetAccountId(v string) *MembershipDatasources { + s.AccountId = &v + return s +} + +// SetDatasourcePackageIngestHistory sets the DatasourcePackageIngestHistory field's value. +func (s *MembershipDatasources) SetDatasourcePackageIngestHistory(v map[string]map[string]*TimestampForCollection) *MembershipDatasources { + s.DatasourcePackageIngestHistory = v + return s +} + +// SetGraphArn sets the GraphArn field's value. +func (s *MembershipDatasources) SetGraphArn(v string) *MembershipDatasources { + s.GraphArn = &v + return s +} + type RejectInvitationInput struct { _ struct{} `type:"structure"` @@ -4156,6 +5045,9 @@ type ServiceQuotaExceededException struct { RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` Message_ *string `locationName:"Message" type:"string"` + + // The type of resource that has exceeded the service quota. + Resources []*string `min:"1" type:"list"` } // String returns the string representation. @@ -4201,7 +5093,7 @@ func (s *ServiceQuotaExceededException) OrigErr() error { } func (s *ServiceQuotaExceededException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) + 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. @@ -4391,6 +5283,39 @@ func (s TagResourceOutput) GoString() string { return s.String() } +// Details on when data collection began for a source package. +type TimestampForCollection struct { + _ struct{} `type:"structure"` + + // The data and time when data collection began for a source package. The value + // is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z. + Timestamp *time.Time `type:"timestamp" timestampFormat:"iso8601"` +} + +// 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 TimestampForCollection) 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 TimestampForCollection) GoString() string { + return s.String() +} + +// SetTimestamp sets the Timestamp field's value. +func (s *TimestampForCollection) SetTimestamp(v time.Time) *TimestampForCollection { + s.Timestamp = &v + return s +} + // The request cannot be completed because too many other requests are occurring // at the same time. type TooManyRequestsException struct { @@ -4499,6 +5424,48 @@ func (s *UnprocessedAccount) SetReason(v string) *UnprocessedAccount { return s } +// Behavior graphs that could not be processed in the request. +type UnprocessedGraph struct { + _ struct{} `type:"structure"` + + // The ARN of the organization behavior graph. + GraphArn *string `type:"string"` + + // The reason data source package information could not be processed for a behavior + // graph. + Reason *string `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 UnprocessedGraph) 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 UnprocessedGraph) GoString() string { + return s.String() +} + +// SetGraphArn sets the GraphArn field's value. +func (s *UnprocessedGraph) SetGraphArn(v string) *UnprocessedGraph { + s.GraphArn = &v + return s +} + +// SetReason sets the Reason field's value. +func (s *UnprocessedGraph) SetReason(v string) *UnprocessedGraph { + s.Reason = &v + return s +} + type UntagResourceInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -4588,6 +5555,91 @@ func (s UntagResourceOutput) GoString() string { return s.String() } +type UpdateDatasourcePackagesInput struct { + _ struct{} `type:"structure"` + + // The data source package start for the behavior graph. + // + // DatasourcePackages is a required field + DatasourcePackages []*string `min:"1" type:"list" required:"true" enum:"DatasourcePackage"` + + // The ARN of the behavior graph. + // + // GraphArn is a required field + GraphArn *string `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 UpdateDatasourcePackagesInput) 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 UpdateDatasourcePackagesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateDatasourcePackagesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDatasourcePackagesInput"} + if s.DatasourcePackages == nil { + invalidParams.Add(request.NewErrParamRequired("DatasourcePackages")) + } + if s.DatasourcePackages != nil && len(s.DatasourcePackages) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatasourcePackages", 1)) + } + if s.GraphArn == nil { + invalidParams.Add(request.NewErrParamRequired("GraphArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatasourcePackages sets the DatasourcePackages field's value. +func (s *UpdateDatasourcePackagesInput) SetDatasourcePackages(v []*string) *UpdateDatasourcePackagesInput { + s.DatasourcePackages = v + return s +} + +// SetGraphArn sets the GraphArn field's value. +func (s *UpdateDatasourcePackagesInput) SetGraphArn(v string) *UpdateDatasourcePackagesInput { + s.GraphArn = &v + return s +} + +type UpdateDatasourcePackagesOutput 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 UpdateDatasourcePackagesOutput) 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 UpdateDatasourcePackagesOutput) GoString() string { + return s.String() +} + type UpdateOrganizationConfigurationInput struct { _ struct{} `type:"structure"` @@ -4671,6 +5723,12 @@ type ValidationException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The error code associated with the validation failure. + ErrorCode *string `type:"string" enum:"ErrorCode"` + + // An explanation of why validation failed. + ErrorCodeReason *string `type:"string"` + Message_ *string `locationName:"Message" type:"string"` } @@ -4717,7 +5775,7 @@ func (s *ValidationException) OrigErr() error { } func (s *ValidationException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) + 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. @@ -4730,6 +5788,62 @@ func (s *ValidationException) RequestID() string { return s.RespMetadata.RequestID } +const ( + // DatasourcePackageDetectiveCore is a DatasourcePackage enum value + DatasourcePackageDetectiveCore = "DETECTIVE_CORE" + + // DatasourcePackageEksAudit is a DatasourcePackage enum value + DatasourcePackageEksAudit = "EKS_AUDIT" +) + +// DatasourcePackage_Values returns all elements of the DatasourcePackage enum +func DatasourcePackage_Values() []string { + return []string{ + DatasourcePackageDetectiveCore, + DatasourcePackageEksAudit, + } +} + +const ( + // DatasourcePackageIngestStateStarted is a DatasourcePackageIngestState enum value + DatasourcePackageIngestStateStarted = "STARTED" + + // DatasourcePackageIngestStateStopped is a DatasourcePackageIngestState enum value + DatasourcePackageIngestStateStopped = "STOPPED" + + // DatasourcePackageIngestStateDisabled is a DatasourcePackageIngestState enum value + DatasourcePackageIngestStateDisabled = "DISABLED" +) + +// DatasourcePackageIngestState_Values returns all elements of the DatasourcePackageIngestState enum +func DatasourcePackageIngestState_Values() []string { + return []string{ + DatasourcePackageIngestStateStarted, + DatasourcePackageIngestStateStopped, + DatasourcePackageIngestStateDisabled, + } +} + +const ( + // ErrorCodeInvalidGraphArn is a ErrorCode enum value + ErrorCodeInvalidGraphArn = "INVALID_GRAPH_ARN" + + // ErrorCodeInvalidRequestBody is a ErrorCode enum value + ErrorCodeInvalidRequestBody = "INVALID_REQUEST_BODY" + + // ErrorCodeInternalError is a ErrorCode enum value + ErrorCodeInternalError = "INTERNAL_ERROR" +) + +// ErrorCode_Values returns all elements of the ErrorCode enum +func ErrorCode_Values() []string { + return []string{ + ErrorCodeInvalidGraphArn, + ErrorCodeInvalidRequestBody, + ErrorCodeInternalError, + } +} + const ( // InvitationTypeInvitation is a InvitationType enum value InvitationTypeInvitation = "INVITATION" diff --git a/service/detective/detectiveiface/interface.go b/service/detective/detectiveiface/interface.go index ddbe3e8815a..6185d526014 100644 --- a/service/detective/detectiveiface/interface.go +++ b/service/detective/detectiveiface/interface.go @@ -64,6 +64,14 @@ type DetectiveAPI interface { AcceptInvitationWithContext(aws.Context, *detective.AcceptInvitationInput, ...request.Option) (*detective.AcceptInvitationOutput, error) AcceptInvitationRequest(*detective.AcceptInvitationInput) (*request.Request, *detective.AcceptInvitationOutput) + BatchGetGraphMemberDatasources(*detective.BatchGetGraphMemberDatasourcesInput) (*detective.BatchGetGraphMemberDatasourcesOutput, error) + BatchGetGraphMemberDatasourcesWithContext(aws.Context, *detective.BatchGetGraphMemberDatasourcesInput, ...request.Option) (*detective.BatchGetGraphMemberDatasourcesOutput, error) + BatchGetGraphMemberDatasourcesRequest(*detective.BatchGetGraphMemberDatasourcesInput) (*request.Request, *detective.BatchGetGraphMemberDatasourcesOutput) + + BatchGetMembershipDatasources(*detective.BatchGetMembershipDatasourcesInput) (*detective.BatchGetMembershipDatasourcesOutput, error) + BatchGetMembershipDatasourcesWithContext(aws.Context, *detective.BatchGetMembershipDatasourcesInput, ...request.Option) (*detective.BatchGetMembershipDatasourcesOutput, error) + BatchGetMembershipDatasourcesRequest(*detective.BatchGetMembershipDatasourcesInput) (*request.Request, *detective.BatchGetMembershipDatasourcesOutput) + CreateGraph(*detective.CreateGraphInput) (*detective.CreateGraphOutput, error) CreateGraphWithContext(aws.Context, *detective.CreateGraphInput, ...request.Option) (*detective.CreateGraphOutput, error) CreateGraphRequest(*detective.CreateGraphInput) (*request.Request, *detective.CreateGraphOutput) @@ -100,6 +108,13 @@ type DetectiveAPI interface { GetMembersWithContext(aws.Context, *detective.GetMembersInput, ...request.Option) (*detective.GetMembersOutput, error) GetMembersRequest(*detective.GetMembersInput) (*request.Request, *detective.GetMembersOutput) + ListDatasourcePackages(*detective.ListDatasourcePackagesInput) (*detective.ListDatasourcePackagesOutput, error) + ListDatasourcePackagesWithContext(aws.Context, *detective.ListDatasourcePackagesInput, ...request.Option) (*detective.ListDatasourcePackagesOutput, error) + ListDatasourcePackagesRequest(*detective.ListDatasourcePackagesInput) (*request.Request, *detective.ListDatasourcePackagesOutput) + + ListDatasourcePackagesPages(*detective.ListDatasourcePackagesInput, func(*detective.ListDatasourcePackagesOutput, bool) bool) error + ListDatasourcePackagesPagesWithContext(aws.Context, *detective.ListDatasourcePackagesInput, func(*detective.ListDatasourcePackagesOutput, bool) bool, ...request.Option) error + ListGraphs(*detective.ListGraphsInput) (*detective.ListGraphsOutput, error) ListGraphsWithContext(aws.Context, *detective.ListGraphsInput, ...request.Option) (*detective.ListGraphsOutput, error) ListGraphsRequest(*detective.ListGraphsInput) (*request.Request, *detective.ListGraphsOutput) @@ -148,6 +163,10 @@ type DetectiveAPI interface { UntagResourceWithContext(aws.Context, *detective.UntagResourceInput, ...request.Option) (*detective.UntagResourceOutput, error) UntagResourceRequest(*detective.UntagResourceInput) (*request.Request, *detective.UntagResourceOutput) + UpdateDatasourcePackages(*detective.UpdateDatasourcePackagesInput) (*detective.UpdateDatasourcePackagesOutput, error) + UpdateDatasourcePackagesWithContext(aws.Context, *detective.UpdateDatasourcePackagesInput, ...request.Option) (*detective.UpdateDatasourcePackagesOutput, error) + UpdateDatasourcePackagesRequest(*detective.UpdateDatasourcePackagesInput) (*request.Request, *detective.UpdateDatasourcePackagesOutput) + UpdateOrganizationConfiguration(*detective.UpdateOrganizationConfigurationInput) (*detective.UpdateOrganizationConfigurationOutput, error) UpdateOrganizationConfigurationWithContext(aws.Context, *detective.UpdateOrganizationConfigurationInput, ...request.Option) (*detective.UpdateOrganizationConfigurationOutput, error) UpdateOrganizationConfigurationRequest(*detective.UpdateOrganizationConfigurationInput) (*request.Request, *detective.UpdateOrganizationConfigurationOutput) diff --git a/service/detective/doc.go b/service/detective/doc.go index f1021c039c7..46df595f351 100644 --- a/service/detective/doc.go +++ b/service/detective/doc.go @@ -21,10 +21,13 @@ // Detective is also integrated with Organizations. The organization management // account designates the Detective administrator account for the organization. // That account becomes the administrator account for the organization behavior -// graph. The Detective administrator account can enable any organization account -// as a member account in the organization behavior graph. The organization -// accounts do not receive invitations. The Detective administrator account -// can also invite other accounts to the organization behavior graph. +// graph. The Detective administrator account is also the delegated administrator +// account for Detective in Organizations. +// +// The Detective administrator account can enable any organization account as +// a member account in the organization behavior graph. The organization accounts +// do not receive invitations. The Detective administrator account can also +// invite other accounts to the organization behavior graph. // // Every behavior graph is specific to a Region. You can only use the API to // manage behavior graphs that belong to the Region that is associated with diff --git a/service/guardduty/api.go b/service/guardduty/api.go index 67f5dbf1bbd..4cceac63d78 100644 --- a/service/guardduty/api.go +++ b/service/guardduty/api.go @@ -1540,6 +1540,146 @@ func (c *GuardDuty) DeleteThreatIntelSetWithContext(ctx aws.Context, input *Dele return out, req.Send() } +const opDescribeMalwareScans = "DescribeMalwareScans" + +// DescribeMalwareScansRequest generates a "aws/request.Request" representing the +// client's request for the DescribeMalwareScans 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 DescribeMalwareScans for more information on using the DescribeMalwareScans +// 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 DescribeMalwareScansRequest method. +// req, resp := client.DescribeMalwareScansRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DescribeMalwareScans +func (c *GuardDuty) DescribeMalwareScansRequest(input *DescribeMalwareScansInput) (req *request.Request, output *DescribeMalwareScansOutput) { + op := &request.Operation{ + Name: opDescribeMalwareScans, + HTTPMethod: "POST", + HTTPPath: "/detector/{detectorId}/malware-scans", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeMalwareScansInput{} + } + + output = &DescribeMalwareScansOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeMalwareScans API operation for Amazon GuardDuty. +// +// Returns a list of malware scans. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GuardDuty's +// API operation DescribeMalwareScans for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// A bad request exception object. +// +// * InternalServerErrorException +// An internal server error exception object. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DescribeMalwareScans +func (c *GuardDuty) DescribeMalwareScans(input *DescribeMalwareScansInput) (*DescribeMalwareScansOutput, error) { + req, out := c.DescribeMalwareScansRequest(input) + return out, req.Send() +} + +// DescribeMalwareScansWithContext is the same as DescribeMalwareScans with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeMalwareScans 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 *GuardDuty) DescribeMalwareScansWithContext(ctx aws.Context, input *DescribeMalwareScansInput, opts ...request.Option) (*DescribeMalwareScansOutput, error) { + req, out := c.DescribeMalwareScansRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeMalwareScansPages iterates over the pages of a DescribeMalwareScans operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeMalwareScans 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 DescribeMalwareScans operation. +// pageNum := 0 +// err := client.DescribeMalwareScansPages(params, +// func(page *guardduty.DescribeMalwareScansOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *GuardDuty) DescribeMalwareScansPages(input *DescribeMalwareScansInput, fn func(*DescribeMalwareScansOutput, bool) bool) error { + return c.DescribeMalwareScansPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeMalwareScansPagesWithContext same as DescribeMalwareScansPages 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 *GuardDuty) DescribeMalwareScansPagesWithContext(ctx aws.Context, input *DescribeMalwareScansInput, fn func(*DescribeMalwareScansOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeMalwareScansInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeMalwareScansRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeMalwareScansOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeOrganizationConfiguration = "DescribeOrganizationConfiguration" // DescribeOrganizationConfigurationRequest generates a "aws/request.Request" representing the @@ -2710,6 +2850,88 @@ func (c *GuardDuty) GetInvitationsCountWithContext(ctx aws.Context, input *GetIn return out, req.Send() } +const opGetMalwareScanSettings = "GetMalwareScanSettings" + +// GetMalwareScanSettingsRequest generates a "aws/request.Request" representing the +// client's request for the GetMalwareScanSettings 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 GetMalwareScanSettings for more information on using the GetMalwareScanSettings +// 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 GetMalwareScanSettingsRequest method. +// req, resp := client.GetMalwareScanSettingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetMalwareScanSettings +func (c *GuardDuty) GetMalwareScanSettingsRequest(input *GetMalwareScanSettingsInput) (req *request.Request, output *GetMalwareScanSettingsOutput) { + op := &request.Operation{ + Name: opGetMalwareScanSettings, + HTTPMethod: "GET", + HTTPPath: "/detector/{detectorId}/malware-scan-settings", + } + + if input == nil { + input = &GetMalwareScanSettingsInput{} + } + + output = &GetMalwareScanSettingsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetMalwareScanSettings API operation for Amazon GuardDuty. +// +// Returns the details of the malware scan settings. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GuardDuty's +// API operation GetMalwareScanSettings for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// A bad request exception object. +// +// * InternalServerErrorException +// An internal server error exception object. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetMalwareScanSettings +func (c *GuardDuty) GetMalwareScanSettings(input *GetMalwareScanSettingsInput) (*GetMalwareScanSettingsOutput, error) { + req, out := c.GetMalwareScanSettingsRequest(input) + return out, req.Send() +} + +// GetMalwareScanSettingsWithContext is the same as GetMalwareScanSettings with the addition of +// the ability to pass a context and additional request options. +// +// See GetMalwareScanSettings 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 *GuardDuty) GetMalwareScanSettingsWithContext(ctx aws.Context, input *GetMalwareScanSettingsInput, opts ...request.Option) (*GetMalwareScanSettingsOutput, error) { + req, out := c.GetMalwareScanSettingsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetMasterAccount = "GetMasterAccount" // GetMasterAccountRequest generates a "aws/request.Request" representing the @@ -5460,6 +5682,89 @@ func (c *GuardDuty) UpdateIPSetWithContext(ctx aws.Context, input *UpdateIPSetIn return out, req.Send() } +const opUpdateMalwareScanSettings = "UpdateMalwareScanSettings" + +// UpdateMalwareScanSettingsRequest generates a "aws/request.Request" representing the +// client's request for the UpdateMalwareScanSettings 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 UpdateMalwareScanSettings for more information on using the UpdateMalwareScanSettings +// 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 UpdateMalwareScanSettingsRequest method. +// req, resp := client.UpdateMalwareScanSettingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateMalwareScanSettings +func (c *GuardDuty) UpdateMalwareScanSettingsRequest(input *UpdateMalwareScanSettingsInput) (req *request.Request, output *UpdateMalwareScanSettingsOutput) { + op := &request.Operation{ + Name: opUpdateMalwareScanSettings, + HTTPMethod: "POST", + HTTPPath: "/detector/{detectorId}/malware-scan-settings", + } + + if input == nil { + input = &UpdateMalwareScanSettingsInput{} + } + + output = &UpdateMalwareScanSettingsOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateMalwareScanSettings API operation for Amazon GuardDuty. +// +// Updates the malware scan settings. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GuardDuty's +// API operation UpdateMalwareScanSettings for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// A bad request exception object. +// +// * InternalServerErrorException +// An internal server error exception object. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateMalwareScanSettings +func (c *GuardDuty) UpdateMalwareScanSettings(input *UpdateMalwareScanSettingsInput) (*UpdateMalwareScanSettingsOutput, error) { + req, out := c.UpdateMalwareScanSettingsRequest(input) + return out, req.Send() +} + +// UpdateMalwareScanSettingsWithContext is the same as UpdateMalwareScanSettings with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateMalwareScanSettings 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 *GuardDuty) UpdateMalwareScanSettingsWithContext(ctx aws.Context, input *UpdateMalwareScanSettingsInput, opts ...request.Option) (*UpdateMalwareScanSettingsOutput, error) { + req, out := c.UpdateMalwareScanSettingsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateMemberDetectors = "UpdateMemberDetectors" // UpdateMemberDetectorsRequest generates a "aws/request.Request" representing the @@ -8296,6 +8601,9 @@ type DataSourceConfigurations struct { // Describes whether any Kubernetes logs are enabled as data sources. Kubernetes *KubernetesConfiguration `locationName:"kubernetes" type:"structure"` + // Describes whether Malware Protection is enabled as a data source. + MalwareProtection *MalwareProtectionConfiguration `locationName:"malwareProtection" type:"structure"` + // Describes whether S3 data event logs are enabled as a data source. S3Logs *S3LogsConfiguration `locationName:"s3Logs" type:"structure"` } @@ -8344,6 +8652,12 @@ func (s *DataSourceConfigurations) SetKubernetes(v *KubernetesConfiguration) *Da return s } +// SetMalwareProtection sets the MalwareProtection field's value. +func (s *DataSourceConfigurations) SetMalwareProtection(v *MalwareProtectionConfiguration) *DataSourceConfigurations { + s.MalwareProtection = v + return s +} + // SetS3Logs sets the S3Logs field's value. func (s *DataSourceConfigurations) SetS3Logs(v *S3LogsConfiguration) *DataSourceConfigurations { s.S3Logs = v @@ -8375,6 +8689,9 @@ type DataSourceConfigurationsResult struct { // sources. Kubernetes *KubernetesConfigurationResult `locationName:"kubernetes" type:"structure"` + // Describes the configuration of Malware Protection data sources. + MalwareProtection *MalwareProtectionConfigurationResult `locationName:"malwareProtection" type:"structure"` + // An object that contains information on the status of S3 Data event logs as // a data source. // @@ -8424,6 +8741,12 @@ func (s *DataSourceConfigurationsResult) SetKubernetes(v *KubernetesConfiguratio return s } +// SetMalwareProtection sets the MalwareProtection field's value. +func (s *DataSourceConfigurationsResult) SetMalwareProtection(v *MalwareProtectionConfigurationResult) *DataSourceConfigurationsResult { + s.MalwareProtection = v + return s +} + // SetS3Logs sets the S3Logs field's value. func (s *DataSourceConfigurationsResult) SetS3Logs(v *S3LogsConfigurationResult) *DataSourceConfigurationsResult { s.S3Logs = v @@ -8481,6 +8804,9 @@ type DataSourcesFreeTrial struct { // Describes whether any Kubernetes logs are enabled as data sources. Kubernetes *KubernetesDataSourceFreeTrial `locationName:"kubernetes" type:"structure"` + // Describes whether Malware Protection is enabled as a data source. + MalwareProtection *MalwareProtectionDataSourceFreeTrial `locationName:"malwareProtection" type:"structure"` + // Describes whether any S3 data event logs are enabled as data sources. S3Logs *DataSourceFreeTrial `locationName:"s3Logs" type:"structure"` } @@ -8527,6 +8853,12 @@ func (s *DataSourcesFreeTrial) SetKubernetes(v *KubernetesDataSourceFreeTrial) * return s } +// SetMalwareProtection sets the MalwareProtection field's value. +func (s *DataSourcesFreeTrial) SetMalwareProtection(v *MalwareProtectionDataSourceFreeTrial) *DataSourcesFreeTrial { + s.MalwareProtection = v + return s +} + // SetS3Logs sets the S3Logs field's value. func (s *DataSourcesFreeTrial) SetS3Logs(v *DataSourceFreeTrial) *DataSourcesFreeTrial { s.S3Logs = v @@ -9269,28 +9601,168 @@ func (s DeleteThreatIntelSetOutput) GoString() string { return s.String() } -type DescribeOrganizationConfigurationInput struct { - _ struct{} `type:"structure" nopayload:"true"` +type DescribeMalwareScansInput struct { + _ struct{} `type:"structure"` - // The ID of the detector to retrieve information about the delegated administrator - // from. + // The unique ID of the detector that the request is associated with. // // DetectorId is a required field DetectorId *string `location:"uri" locationName:"detectorId" 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 DescribeOrganizationConfigurationInput) String() string { - return awsutil.Prettify(s) -} + // Represents the criteria to be used in the filter for describing scan entries. + FilterCriteria *FilterCriteria `locationName:"filterCriteria" type:"structure"` -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not + // You can use this parameter to indicate the maximum number of items that you + // want in the response. The default value is 50. The maximum value is 50. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // You can use this parameter when paginating results. Set the value of this + // parameter to null on your first call to the list action. For subsequent calls + // to the action, fill nextToken in the request with the value of NextToken + // from the previous response to continue listing data. + NextToken *string `locationName:"nextToken" type:"string"` + + // Represents the criteria used for sorting scan entries. + SortCriteria *SortCriteria `locationName:"sortCriteria" 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 DescribeMalwareScansInput) 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 DescribeMalwareScansInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeMalwareScansInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeMalwareScansInput"} + if s.DetectorId == nil { + invalidParams.Add(request.NewErrParamRequired("DetectorId")) + } + if s.DetectorId != nil && len(*s.DetectorId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.FilterCriteria != nil { + if err := s.FilterCriteria.Validate(); err != nil { + invalidParams.AddNested("FilterCriteria", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDetectorId sets the DetectorId field's value. +func (s *DescribeMalwareScansInput) SetDetectorId(v string) *DescribeMalwareScansInput { + s.DetectorId = &v + return s +} + +// SetFilterCriteria sets the FilterCriteria field's value. +func (s *DescribeMalwareScansInput) SetFilterCriteria(v *FilterCriteria) *DescribeMalwareScansInput { + s.FilterCriteria = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeMalwareScansInput) SetMaxResults(v int64) *DescribeMalwareScansInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeMalwareScansInput) SetNextToken(v string) *DescribeMalwareScansInput { + s.NextToken = &v + return s +} + +// SetSortCriteria sets the SortCriteria field's value. +func (s *DescribeMalwareScansInput) SetSortCriteria(v *SortCriteria) *DescribeMalwareScansInput { + s.SortCriteria = v + return s +} + +type DescribeMalwareScansOutput struct { + _ struct{} `type:"structure"` + + // The pagination parameter to be used on the next list operation to retrieve + // more items. + NextToken *string `locationName:"nextToken" type:"string"` + + // Contains information about malware scans. + // + // Scans is a required field + Scans []*Scan `locationName:"scans" 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 DescribeMalwareScansOutput) 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 DescribeMalwareScansOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeMalwareScansOutput) SetNextToken(v string) *DescribeMalwareScansOutput { + s.NextToken = &v + return s +} + +// SetScans sets the Scans field's value. +func (s *DescribeMalwareScansOutput) SetScans(v []*Scan) *DescribeMalwareScansOutput { + s.Scans = v + return s +} + +type DescribeOrganizationConfigurationInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the detector to retrieve information about the delegated administrator + // from. + // + // DetectorId is a required field + DetectorId *string `location:"uri" locationName:"detectorId" 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 DescribeOrganizationConfigurationInput) 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 DescribeOrganizationConfigurationInput) GoString() string { @@ -10021,27 +10493,15 @@ func (s *DomainDetails) SetDomain(v string) *DomainDetails { return s } -// Details about the EKS cluster involved in a Kubernetes finding. -type EksClusterDetails struct { +// Contains list of scanned and skipped EBS volumes with details. +type EbsVolumeDetails struct { _ struct{} `type:"structure"` - // EKS cluster ARN. - Arn *string `locationName:"arn" type:"string"` - - // The timestamp when the EKS cluster was created. - CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` - - // EKS cluster name. - Name *string `locationName:"name" type:"string"` + // List of EBS volumes that were scanned. + ScannedVolumeDetails []*VolumeDetail `locationName:"scannedVolumeDetails" type:"list"` - // The EKS cluster status. - Status *string `locationName:"status" type:"string"` - - // The EKS cluster tags. - Tags []*Tag `locationName:"tags" type:"list"` - - // The VPC ID to which the EKS cluster is attached. - VpcId *string `locationName:"vpcId" type:"string"` + // List of EBS volumes that were skipped from the malware scan. + SkippedVolumeDetails []*VolumeDetail `locationName:"skippedVolumeDetails" type:"list"` } // String returns the string representation. @@ -10049,7 +10509,7 @@ type EksClusterDetails 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 EksClusterDetails) String() string { +func (s EbsVolumeDetails) String() string { return awsutil.Prettify(s) } @@ -10058,54 +10518,43 @@ func (s EksClusterDetails) 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 EksClusterDetails) GoString() string { +func (s EbsVolumeDetails) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *EksClusterDetails) SetArn(v string) *EksClusterDetails { - s.Arn = &v +// SetScannedVolumeDetails sets the ScannedVolumeDetails field's value. +func (s *EbsVolumeDetails) SetScannedVolumeDetails(v []*VolumeDetail) *EbsVolumeDetails { + s.ScannedVolumeDetails = v return s } -// SetCreatedAt sets the CreatedAt field's value. -func (s *EksClusterDetails) SetCreatedAt(v time.Time) *EksClusterDetails { - s.CreatedAt = &v +// SetSkippedVolumeDetails sets the SkippedVolumeDetails field's value. +func (s *EbsVolumeDetails) SetSkippedVolumeDetails(v []*VolumeDetail) *EbsVolumeDetails { + s.SkippedVolumeDetails = v return s } -// SetName sets the Name field's value. -func (s *EksClusterDetails) SetName(v string) *EksClusterDetails { - s.Name = &v - return s -} +// Contains details from the malware scan that created a finding. +type EbsVolumeScanDetails struct { + _ struct{} `type:"structure"` -// SetStatus sets the Status field's value. -func (s *EksClusterDetails) SetStatus(v string) *EksClusterDetails { - s.Status = &v - return s -} + // Returns the completion date and time of the malware scan. + ScanCompletedAt *time.Time `locationName:"scanCompletedAt" type:"timestamp"` -// SetTags sets the Tags field's value. -func (s *EksClusterDetails) SetTags(v []*Tag) *EksClusterDetails { - s.Tags = v - return s -} + // Contains a complete view providing malware scan result details. + ScanDetections *ScanDetections `locationName:"scanDetections" type:"structure"` -// SetVpcId sets the VpcId field's value. -func (s *EksClusterDetails) SetVpcId(v string) *EksClusterDetails { - s.VpcId = &v - return s -} + // Unique Id of the malware scan that generated the finding. + ScanId *string `locationName:"scanId" type:"string"` -type EnableOrganizationAdminAccountInput struct { - _ struct{} `type:"structure"` + // Returns the start date and time of the malware scan. + ScanStartedAt *time.Time `locationName:"scanStartedAt" type:"timestamp"` - // The Amazon Web Services Account ID for the organization account to be enabled - // as a GuardDuty delegated administrator. - // - // AdminAccountId is a required field - AdminAccountId *string `locationName:"adminAccountId" type:"string" required:"true"` + // Contains list of threat intelligence sources used to detect threats. + Sources []*string `locationName:"sources" type:"list"` + + // GuardDuty finding ID that triggered a malware scan. + TriggerFindingId *string `locationName:"triggerFindingId" type:"string"` } // String returns the string representation. @@ -10113,7 +10562,7 @@ type EnableOrganizationAdminAccountInput 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 EnableOrganizationAdminAccountInput) String() string { +func (s EbsVolumeScanDetails) String() string { return awsutil.Prettify(s) } @@ -10122,31 +10571,52 @@ func (s EnableOrganizationAdminAccountInput) 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 EnableOrganizationAdminAccountInput) GoString() string { +func (s EbsVolumeScanDetails) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *EnableOrganizationAdminAccountInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "EnableOrganizationAdminAccountInput"} - if s.AdminAccountId == nil { - invalidParams.Add(request.NewErrParamRequired("AdminAccountId")) - } +// SetScanCompletedAt sets the ScanCompletedAt field's value. +func (s *EbsVolumeScanDetails) SetScanCompletedAt(v time.Time) *EbsVolumeScanDetails { + s.ScanCompletedAt = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetScanDetections sets the ScanDetections field's value. +func (s *EbsVolumeScanDetails) SetScanDetections(v *ScanDetections) *EbsVolumeScanDetails { + s.ScanDetections = v + return s } -// SetAdminAccountId sets the AdminAccountId field's value. -func (s *EnableOrganizationAdminAccountInput) SetAdminAccountId(v string) *EnableOrganizationAdminAccountInput { - s.AdminAccountId = &v +// SetScanId sets the ScanId field's value. +func (s *EbsVolumeScanDetails) SetScanId(v string) *EbsVolumeScanDetails { + s.ScanId = &v return s } -type EnableOrganizationAdminAccountOutput struct { +// SetScanStartedAt sets the ScanStartedAt field's value. +func (s *EbsVolumeScanDetails) SetScanStartedAt(v time.Time) *EbsVolumeScanDetails { + s.ScanStartedAt = &v + return s +} + +// SetSources sets the Sources field's value. +func (s *EbsVolumeScanDetails) SetSources(v []*string) *EbsVolumeScanDetails { + s.Sources = v + return s +} + +// SetTriggerFindingId sets the TriggerFindingId field's value. +func (s *EbsVolumeScanDetails) SetTriggerFindingId(v string) *EbsVolumeScanDetails { + s.TriggerFindingId = &v + return s +} + +// Describes the configuration of scanning EBS volumes as a data source. +type EbsVolumesResult struct { _ struct{} `type:"structure"` + + // Describes whether scanning EBS volumes is enabled as a data source. + Status *string `locationName:"status" min:"1" type:"string" enum:"DataSourceStatus"` } // String returns the string representation. @@ -10154,7 +10624,7 @@ type EnableOrganizationAdminAccountOutput 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 EnableOrganizationAdminAccountOutput) String() string { +func (s EbsVolumesResult) String() string { return awsutil.Prettify(s) } @@ -10163,16 +10633,43 @@ func (s EnableOrganizationAdminAccountOutput) 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 EnableOrganizationAdminAccountOutput) GoString() string { +func (s EbsVolumesResult) GoString() string { return s.String() } -// Contains information about the reason that the finding was generated. -type Evidence struct { +// SetStatus sets the Status field's value. +func (s *EbsVolumesResult) SetStatus(v string) *EbsVolumesResult { + s.Status = &v + return s +} + +// Contains information about the details of the ECS Cluster. +type EcsClusterDetails struct { _ struct{} `type:"structure"` - // A list of threat intelligence details related to the evidence. - ThreatIntelligenceDetails []*ThreatIntelligenceDetail `locationName:"threatIntelligenceDetails" type:"list"` + // The number of services that are running on the cluster in an ACTIVE state. + ActiveServicesCount *int64 `locationName:"activeServicesCount" type:"integer"` + + // The Amazon Resource Name (ARN) that identifies the cluster. + Arn *string `locationName:"arn" type:"string"` + + // The name of the ECS Cluster. + Name *string `locationName:"name" type:"string"` + + // The number of container instances registered into the cluster. + RegisteredContainerInstancesCount *int64 `locationName:"registeredContainerInstancesCount" type:"integer"` + + // The number of tasks in the cluster that are in the RUNNING state. + RunningTasksCount *int64 `locationName:"runningTasksCount" type:"integer"` + + // The status of the ECS cluster. + Status *string `locationName:"status" type:"string"` + + // The tags of the ECS Cluster. + Tags []*Tag `locationName:"tags" type:"list"` + + // Contains information about the details of the ECS Task. + TaskDetails *EcsTaskDetails `locationName:"taskDetails" type:"structure"` } // String returns the string representation. @@ -10180,7 +10677,7 @@ type Evidence 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 Evidence) String() string { +func (s EcsClusterDetails) String() string { return awsutil.Prettify(s) } @@ -10189,86 +10686,91 @@ func (s Evidence) 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 Evidence) GoString() string { +func (s EcsClusterDetails) GoString() string { return s.String() } -// SetThreatIntelligenceDetails sets the ThreatIntelligenceDetails field's value. -func (s *Evidence) SetThreatIntelligenceDetails(v []*ThreatIntelligenceDetail) *Evidence { - s.ThreatIntelligenceDetails = v +// SetActiveServicesCount sets the ActiveServicesCount field's value. +func (s *EcsClusterDetails) SetActiveServicesCount(v int64) *EcsClusterDetails { + s.ActiveServicesCount = &v return s } -// Contains information about the finding, which is generated when abnormal -// or suspicious activity is detected. -type Finding struct { - _ struct{} `type:"structure"` +// SetArn sets the Arn field's value. +func (s *EcsClusterDetails) SetArn(v string) *EcsClusterDetails { + s.Arn = &v + return s +} - // The ID of the account in which the finding was generated. - // - // AccountId is a required field - AccountId *string `locationName:"accountId" type:"string" required:"true"` +// SetName sets the Name field's value. +func (s *EcsClusterDetails) SetName(v string) *EcsClusterDetails { + s.Name = &v + return s +} - // The ARN of the finding. - // - // Arn is a required field - Arn *string `locationName:"arn" type:"string" required:"true"` +// SetRegisteredContainerInstancesCount sets the RegisteredContainerInstancesCount field's value. +func (s *EcsClusterDetails) SetRegisteredContainerInstancesCount(v int64) *EcsClusterDetails { + s.RegisteredContainerInstancesCount = &v + return s +} - // The confidence score for the finding. - Confidence *float64 `locationName:"confidence" type:"double"` +// SetRunningTasksCount sets the RunningTasksCount field's value. +func (s *EcsClusterDetails) SetRunningTasksCount(v int64) *EcsClusterDetails { + s.RunningTasksCount = &v + return s +} - // The time and date when the finding was created. - // - // CreatedAt is a required field - CreatedAt *string `locationName:"createdAt" type:"string" required:"true"` +// SetStatus sets the Status field's value. +func (s *EcsClusterDetails) SetStatus(v string) *EcsClusterDetails { + s.Status = &v + return s +} - // The description of the finding. - Description *string `locationName:"description" type:"string"` +// SetTags sets the Tags field's value. +func (s *EcsClusterDetails) SetTags(v []*Tag) *EcsClusterDetails { + s.Tags = v + return s +} - // The ID of the finding. - // - // Id is a required field - Id *string `locationName:"id" type:"string" required:"true"` +// SetTaskDetails sets the TaskDetails field's value. +func (s *EcsClusterDetails) SetTaskDetails(v *EcsTaskDetails) *EcsClusterDetails { + s.TaskDetails = v + return s +} - // The partition associated with the finding. - Partition *string `locationName:"partition" type:"string"` +// Contains information about the task in an ECS cluster. +type EcsTaskDetails struct { + _ struct{} `type:"structure"` - // The Region where the finding was generated. - // - // Region is a required field - Region *string `locationName:"region" type:"string" required:"true"` + // The Amazon Resource Name (ARN) of the task. + Arn *string `locationName:"arn" type:"string"` - // Contains information about the Amazon Web Services resource associated with - // the activity that prompted GuardDuty to generate a finding. - // - // Resource is a required field - Resource *Resource `locationName:"resource" type:"structure" required:"true"` + // The containers that's associated with the task. + Containers []*Container `locationName:"containers" type:"list"` - // The version of the schema used for the finding. - // - // SchemaVersion is a required field - SchemaVersion *string `locationName:"schemaVersion" type:"string" required:"true"` + // The ARN of the task definition that creates the task. + DefinitionArn *string `locationName:"definitionArn" type:"string"` - // Contains additional information about the generated finding. - Service *Service `locationName:"service" type:"structure"` + // The name of the task group that's associated with the task. + Group *string `locationName:"group" type:"string"` - // The severity of the finding. - // - // Severity is a required field - Severity *float64 `locationName:"severity" type:"double" required:"true"` + // The Unix timestamp for the time when the task started. + StartedAt *time.Time `locationName:"startedAt" type:"timestamp"` - // The title of the finding. - Title *string `locationName:"title" type:"string"` + // Contains the tag specified when a task is started. + StartedBy *string `locationName:"startedBy" type:"string"` - // The type of finding. - // - // Type is a required field - Type *string `locationName:"type" min:"1" type:"string" required:"true"` + // The tags of the ECS Task. + Tags []*Tag `locationName:"tags" type:"list"` - // The time and date when the finding was last updated. - // - // UpdatedAt is a required field - UpdatedAt *string `locationName:"updatedAt" type:"string" required:"true"` + // The Unix timestamp for the time when the task was created. + TaskCreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` + + // The version counter for the task. + Version *string `locationName:"version" type:"string"` + + // The list of data volume definitions for the task. + Volumes []*Volume `locationName:"volumes" type:"list"` } // String returns the string representation. @@ -10276,7 +10778,7 @@ type Finding 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 Finding) String() string { +func (s EcsTaskDetails) String() string { return awsutil.Prettify(s) } @@ -10285,107 +10787,91 @@ func (s Finding) 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 Finding) GoString() string { +func (s EcsTaskDetails) GoString() string { return s.String() } -// SetAccountId sets the AccountId field's value. -func (s *Finding) SetAccountId(v string) *Finding { - s.AccountId = &v - return s -} - // SetArn sets the Arn field's value. -func (s *Finding) SetArn(v string) *Finding { +func (s *EcsTaskDetails) SetArn(v string) *EcsTaskDetails { s.Arn = &v return s } -// SetConfidence sets the Confidence field's value. -func (s *Finding) SetConfidence(v float64) *Finding { - s.Confidence = &v +// SetContainers sets the Containers field's value. +func (s *EcsTaskDetails) SetContainers(v []*Container) *EcsTaskDetails { + s.Containers = v return s } -// SetCreatedAt sets the CreatedAt field's value. -func (s *Finding) SetCreatedAt(v string) *Finding { - s.CreatedAt = &v +// SetDefinitionArn sets the DefinitionArn field's value. +func (s *EcsTaskDetails) SetDefinitionArn(v string) *EcsTaskDetails { + s.DefinitionArn = &v return s } -// SetDescription sets the Description field's value. -func (s *Finding) SetDescription(v string) *Finding { - s.Description = &v +// SetGroup sets the Group field's value. +func (s *EcsTaskDetails) SetGroup(v string) *EcsTaskDetails { + s.Group = &v return s } -// SetId sets the Id field's value. -func (s *Finding) SetId(v string) *Finding { - s.Id = &v +// SetStartedAt sets the StartedAt field's value. +func (s *EcsTaskDetails) SetStartedAt(v time.Time) *EcsTaskDetails { + s.StartedAt = &v return s } -// SetPartition sets the Partition field's value. -func (s *Finding) SetPartition(v string) *Finding { - s.Partition = &v +// SetStartedBy sets the StartedBy field's value. +func (s *EcsTaskDetails) SetStartedBy(v string) *EcsTaskDetails { + s.StartedBy = &v return s } -// SetRegion sets the Region field's value. -func (s *Finding) SetRegion(v string) *Finding { - s.Region = &v +// SetTags sets the Tags field's value. +func (s *EcsTaskDetails) SetTags(v []*Tag) *EcsTaskDetails { + s.Tags = v return s } -// SetResource sets the Resource field's value. -func (s *Finding) SetResource(v *Resource) *Finding { - s.Resource = v +// SetTaskCreatedAt sets the TaskCreatedAt field's value. +func (s *EcsTaskDetails) SetTaskCreatedAt(v time.Time) *EcsTaskDetails { + s.TaskCreatedAt = &v return s } -// SetSchemaVersion sets the SchemaVersion field's value. -func (s *Finding) SetSchemaVersion(v string) *Finding { - s.SchemaVersion = &v +// SetVersion sets the Version field's value. +func (s *EcsTaskDetails) SetVersion(v string) *EcsTaskDetails { + s.Version = &v return s } -// SetService sets the Service field's value. -func (s *Finding) SetService(v *Service) *Finding { - s.Service = v +// SetVolumes sets the Volumes field's value. +func (s *EcsTaskDetails) SetVolumes(v []*Volume) *EcsTaskDetails { + s.Volumes = v return s } -// SetSeverity sets the Severity field's value. -func (s *Finding) SetSeverity(v float64) *Finding { - s.Severity = &v - return s -} +// Details about the EKS cluster involved in a Kubernetes finding. +type EksClusterDetails struct { + _ struct{} `type:"structure"` -// SetTitle sets the Title field's value. -func (s *Finding) SetTitle(v string) *Finding { - s.Title = &v - return s -} + // EKS cluster ARN. + Arn *string `locationName:"arn" type:"string"` -// SetType sets the Type field's value. -func (s *Finding) SetType(v string) *Finding { - s.Type = &v - return s -} + // The timestamp when the EKS cluster was created. + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` -// SetUpdatedAt sets the UpdatedAt field's value. -func (s *Finding) SetUpdatedAt(v string) *Finding { - s.UpdatedAt = &v - return s -} + // EKS cluster name. + Name *string `locationName:"name" type:"string"` -// Contains information about the criteria used for querying findings. -type FindingCriteria struct { - _ struct{} `type:"structure"` + // The EKS cluster status. + Status *string `locationName:"status" type:"string"` - // Represents a map of finding properties that match specified conditions and - // values when querying findings. - Criterion map[string]*Condition `locationName:"criterion" type:"map"` + // The EKS cluster tags. + Tags []*Tag `locationName:"tags" type:"list"` + + // The VPC ID to which the EKS cluster is attached. + VpcId *string `locationName:"vpcId" type:"string"` } // String returns the string representation. @@ -10393,7 +10879,7 @@ type FindingCriteria 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 FindingCriteria) String() string { +func (s EksClusterDetails) String() string { return awsutil.Prettify(s) } @@ -10402,22 +10888,54 @@ func (s FindingCriteria) 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 FindingCriteria) GoString() string { +func (s EksClusterDetails) GoString() string { return s.String() } -// SetCriterion sets the Criterion field's value. -func (s *FindingCriteria) SetCriterion(v map[string]*Condition) *FindingCriteria { - s.Criterion = v +// SetArn sets the Arn field's value. +func (s *EksClusterDetails) SetArn(v string) *EksClusterDetails { + s.Arn = &v return s } -// Contains information about finding statistics. -type FindingStatistics struct { +// SetCreatedAt sets the CreatedAt field's value. +func (s *EksClusterDetails) SetCreatedAt(v time.Time) *EksClusterDetails { + s.CreatedAt = &v + return s +} + +// SetName sets the Name field's value. +func (s *EksClusterDetails) SetName(v string) *EksClusterDetails { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *EksClusterDetails) SetStatus(v string) *EksClusterDetails { + s.Status = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *EksClusterDetails) SetTags(v []*Tag) *EksClusterDetails { + s.Tags = v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *EksClusterDetails) SetVpcId(v string) *EksClusterDetails { + s.VpcId = &v + return s +} + +type EnableOrganizationAdminAccountInput struct { _ struct{} `type:"structure"` - // Represents a map of severity to count statistics for a set of findings. - CountBySeverity map[string]*int64 `locationName:"countBySeverity" type:"map"` + // The Amazon Web Services Account ID for the organization account to be enabled + // as a GuardDuty delegated administrator. + // + // AdminAccountId is a required field + AdminAccountId *string `locationName:"adminAccountId" type:"string" required:"true"` } // String returns the string representation. @@ -10425,7 +10943,7 @@ type FindingStatistics 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 FindingStatistics) String() string { +func (s EnableOrganizationAdminAccountInput) String() string { return awsutil.Prettify(s) } @@ -10434,24 +10952,31 @@ func (s FindingStatistics) 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 FindingStatistics) GoString() string { +func (s EnableOrganizationAdminAccountInput) GoString() string { return s.String() } -// SetCountBySeverity sets the CountBySeverity field's value. -func (s *FindingStatistics) SetCountBySeverity(v map[string]*int64) *FindingStatistics { - s.CountBySeverity = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *EnableOrganizationAdminAccountInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EnableOrganizationAdminAccountInput"} + if s.AdminAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AdminAccountId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAdminAccountId sets the AdminAccountId field's value. +func (s *EnableOrganizationAdminAccountInput) SetAdminAccountId(v string) *EnableOrganizationAdminAccountInput { + s.AdminAccountId = &v return s } -// Contains information on the status of VPC flow logs as a data source. -type FlowLogsConfigurationResult struct { +type EnableOrganizationAdminAccountOutput struct { _ struct{} `type:"structure"` - - // Denotes whether VPC flow logs is enabled as a data source. - // - // Status is a required field - Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"DataSourceStatus"` } // String returns the string representation. @@ -10459,7 +10984,7 @@ type FlowLogsConfigurationResult 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 FlowLogsConfigurationResult) String() string { +func (s EnableOrganizationAdminAccountOutput) String() string { return awsutil.Prettify(s) } @@ -10468,25 +10993,16 @@ func (s FlowLogsConfigurationResult) 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 FlowLogsConfigurationResult) GoString() string { +func (s EnableOrganizationAdminAccountOutput) GoString() string { return s.String() } -// SetStatus sets the Status field's value. -func (s *FlowLogsConfigurationResult) SetStatus(v string) *FlowLogsConfigurationResult { - s.Status = &v - return s -} - -// Contains information about the location of the remote IP address. -type GeoLocation struct { +// Contains information about the reason that the finding was generated. +type Evidence struct { _ struct{} `type:"structure"` - // The latitude information of the remote IP address. - Lat *float64 `locationName:"lat" type:"double"` - - // The longitude information of the remote IP address. - Lon *float64 `locationName:"lon" type:"double"` + // A list of threat intelligence details related to the evidence. + ThreatIntelligenceDetails []*ThreatIntelligenceDetail `locationName:"threatIntelligenceDetails" type:"list"` } // String returns the string representation. @@ -10494,7 +11010,7 @@ type GeoLocation 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 GeoLocation) String() string { +func (s Evidence) String() string { return awsutil.Prettify(s) } @@ -10503,29 +11019,31 @@ func (s GeoLocation) 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 GeoLocation) GoString() string { +func (s Evidence) GoString() string { return s.String() } -// SetLat sets the Lat field's value. -func (s *GeoLocation) SetLat(v float64) *GeoLocation { - s.Lat = &v +// SetThreatIntelligenceDetails sets the ThreatIntelligenceDetails field's value. +func (s *Evidence) SetThreatIntelligenceDetails(v []*ThreatIntelligenceDetail) *Evidence { + s.ThreatIntelligenceDetails = v return s } -// SetLon sets the Lon field's value. -func (s *GeoLocation) SetLon(v float64) *GeoLocation { - s.Lon = &v - return s -} +// Contains information about the condition. +type FilterCondition struct { + _ struct{} `type:"structure"` -type GetAdministratorAccountInput struct { - _ struct{} `type:"structure" nopayload:"true"` + // Represents an equal condition to be applied to a single field when querying + // for scan entries. + EqualsValue *string `locationName:"equalsValue" min:"1" type:"string"` - // The unique ID of the detector of the GuardDuty member account. - // - // DetectorId is a required field - DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` + // Represents a greater than condition to be applied to a single field when + // querying for scan entries. + GreaterThan *int64 `locationName:"greaterThan" type:"long"` + + // Represents a less than condition to be applied to a single field when querying + // for scan entries. + LessThan *int64 `locationName:"lessThan" type:"long"` } // String returns the string representation. @@ -10533,7 +11051,7 @@ type GetAdministratorAccountInput 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 GetAdministratorAccountInput) String() string { +func (s FilterCondition) String() string { return awsutil.Prettify(s) } @@ -10542,18 +11060,15 @@ func (s GetAdministratorAccountInput) 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 GetAdministratorAccountInput) GoString() string { +func (s FilterCondition) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetAdministratorAccountInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetAdministratorAccountInput"} - if s.DetectorId == nil { - invalidParams.Add(request.NewErrParamRequired("DetectorId")) - } - if s.DetectorId != nil && len(*s.DetectorId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1)) +func (s *FilterCondition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FilterCondition"} + if s.EqualsValue != nil && len(*s.EqualsValue) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EqualsValue", 1)) } if invalidParams.Len() > 0 { @@ -10562,19 +11077,31 @@ func (s *GetAdministratorAccountInput) Validate() error { return nil } -// SetDetectorId sets the DetectorId field's value. -func (s *GetAdministratorAccountInput) SetDetectorId(v string) *GetAdministratorAccountInput { - s.DetectorId = &v +// SetEqualsValue sets the EqualsValue field's value. +func (s *FilterCondition) SetEqualsValue(v string) *FilterCondition { + s.EqualsValue = &v return s } -type GetAdministratorAccountOutput struct { +// SetGreaterThan sets the GreaterThan field's value. +func (s *FilterCondition) SetGreaterThan(v int64) *FilterCondition { + s.GreaterThan = &v + return s +} + +// SetLessThan sets the LessThan field's value. +func (s *FilterCondition) SetLessThan(v int64) *FilterCondition { + s.LessThan = &v + return s +} + +// Represents the criteria to be used in the filter for describing scan entries. +type FilterCriteria struct { _ struct{} `type:"structure"` - // The administrator account details. - // - // Administrator is a required field - Administrator *Administrator `locationName:"administrator" type:"structure" required:"true"` + // Represents a condition that when matched will be added to the response of + // the operation. + FilterCriterion []*FilterCriterion `locationName:"filterCriterion" type:"list"` } // String returns the string representation. @@ -10582,7 +11109,7 @@ type GetAdministratorAccountOutput 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 GetAdministratorAccountOutput) String() string { +func (s FilterCriteria) String() string { return awsutil.Prettify(s) } @@ -10591,23 +11118,47 @@ func (s GetAdministratorAccountOutput) 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 GetAdministratorAccountOutput) GoString() string { +func (s FilterCriteria) GoString() string { return s.String() } -// SetAdministrator sets the Administrator field's value. -func (s *GetAdministratorAccountOutput) SetAdministrator(v *Administrator) *GetAdministratorAccountOutput { - s.Administrator = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *FilterCriteria) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FilterCriteria"} + if s.FilterCriterion != nil { + for i, v := range s.FilterCriterion { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FilterCriterion", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilterCriterion sets the FilterCriterion field's value. +func (s *FilterCriteria) SetFilterCriterion(v []*FilterCriterion) *FilterCriteria { + s.FilterCriterion = v return s } -type GetDetectorInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// Represents a condition that when matched will be added to the response of +// the operation. +type FilterCriterion struct { + _ struct{} `type:"structure"` - // The unique ID of the detector that you want to get. - // - // DetectorId is a required field - DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` + // An enum value representing possible scan properties to match with given scan + // entries. + CriterionKey *string `locationName:"criterionKey" type:"string" enum:"CriterionKey"` + + // Contains information about the condition. + FilterCondition *FilterCondition `locationName:"filterCondition" type:"structure"` } // String returns the string representation. @@ -10615,7 +11166,7 @@ type GetDetectorInput 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 GetDetectorInput) String() string { +func (s FilterCriterion) String() string { return awsutil.Prettify(s) } @@ -10624,18 +11175,17 @@ func (s GetDetectorInput) 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 GetDetectorInput) GoString() string { +func (s FilterCriterion) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetDetectorInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetDetectorInput"} - if s.DetectorId == nil { - invalidParams.Add(request.NewErrParamRequired("DetectorId")) - } - if s.DetectorId != nil && len(*s.DetectorId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1)) +func (s *FilterCriterion) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FilterCriterion"} + if s.FilterCondition != nil { + if err := s.FilterCondition.Validate(); err != nil { + invalidParams.AddNested("FilterCondition", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -10644,39 +11194,88 @@ func (s *GetDetectorInput) Validate() error { return nil } -// SetDetectorId sets the DetectorId field's value. -func (s *GetDetectorInput) SetDetectorId(v string) *GetDetectorInput { - s.DetectorId = &v +// SetCriterionKey sets the CriterionKey field's value. +func (s *FilterCriterion) SetCriterionKey(v string) *FilterCriterion { + s.CriterionKey = &v return s } -type GetDetectorOutput struct { +// SetFilterCondition sets the FilterCondition field's value. +func (s *FilterCriterion) SetFilterCondition(v *FilterCondition) *FilterCriterion { + s.FilterCondition = v + return s +} + +// Contains information about the finding, which is generated when abnormal +// or suspicious activity is detected. +type Finding struct { _ struct{} `type:"structure"` - // The timestamp of when the detector was created. - CreatedAt *string `locationName:"createdAt" type:"string"` + // The ID of the account in which the finding was generated. + // + // AccountId is a required field + AccountId *string `locationName:"accountId" type:"string" required:"true"` - // Describes which data sources are enabled for the detector. - DataSources *DataSourceConfigurationsResult `locationName:"dataSources" type:"structure"` + // The ARN of the finding. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` - // The publishing frequency of the finding. - FindingPublishingFrequency *string `locationName:"findingPublishingFrequency" type:"string" enum:"FindingPublishingFrequency"` + // The confidence score for the finding. + Confidence *float64 `locationName:"confidence" type:"double"` - // The GuardDuty service role. + // The time and date when the finding was created. // - // ServiceRole is a required field - ServiceRole *string `locationName:"serviceRole" type:"string" required:"true"` + // CreatedAt is a required field + CreatedAt *string `locationName:"createdAt" type:"string" required:"true"` - // The detector status. + // The description of the finding. + Description *string `locationName:"description" type:"string"` + + // The ID of the finding. // - // Status is a required field - Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"DetectorStatus"` + // Id is a required field + Id *string `locationName:"id" type:"string" required:"true"` - // The tags of the detector resource. - Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + // The partition associated with the finding. + Partition *string `locationName:"partition" type:"string"` - // The last-updated timestamp for the detector. - UpdatedAt *string `locationName:"updatedAt" type:"string"` + // The Region where the finding was generated. + // + // Region is a required field + Region *string `locationName:"region" type:"string" required:"true"` + + // Contains information about the Amazon Web Services resource associated with + // the activity that prompted GuardDuty to generate a finding. + // + // Resource is a required field + Resource *Resource `locationName:"resource" type:"structure" required:"true"` + + // The version of the schema used for the finding. + // + // SchemaVersion is a required field + SchemaVersion *string `locationName:"schemaVersion" type:"string" required:"true"` + + // Contains additional information about the generated finding. + Service *Service `locationName:"service" type:"structure"` + + // The severity of the finding. + // + // Severity is a required field + Severity *float64 `locationName:"severity" type:"double" required:"true"` + + // The title of the finding. + Title *string `locationName:"title" type:"string"` + + // The type of finding. + // + // Type is a required field + Type *string `locationName:"type" min:"1" type:"string" required:"true"` + + // The time and date when the finding was last updated. + // + // UpdatedAt is a required field + UpdatedAt *string `locationName:"updatedAt" type:"string" required:"true"` } // String returns the string representation. @@ -10684,7 +11283,7 @@ type GetDetectorOutput 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 GetDetectorOutput) String() string { +func (s Finding) String() string { return awsutil.Prettify(s) } @@ -10693,146 +11292,107 @@ func (s GetDetectorOutput) 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 GetDetectorOutput) GoString() string { +func (s Finding) GoString() string { return s.String() } -// SetCreatedAt sets the CreatedAt field's value. -func (s *GetDetectorOutput) SetCreatedAt(v string) *GetDetectorOutput { - s.CreatedAt = &v +// SetAccountId sets the AccountId field's value. +func (s *Finding) SetAccountId(v string) *Finding { + s.AccountId = &v return s } -// SetDataSources sets the DataSources field's value. -func (s *GetDetectorOutput) SetDataSources(v *DataSourceConfigurationsResult) *GetDetectorOutput { - s.DataSources = v +// SetArn sets the Arn field's value. +func (s *Finding) SetArn(v string) *Finding { + s.Arn = &v return s } -// SetFindingPublishingFrequency sets the FindingPublishingFrequency field's value. -func (s *GetDetectorOutput) SetFindingPublishingFrequency(v string) *GetDetectorOutput { - s.FindingPublishingFrequency = &v +// SetConfidence sets the Confidence field's value. +func (s *Finding) SetConfidence(v float64) *Finding { + s.Confidence = &v return s } -// SetServiceRole sets the ServiceRole field's value. -func (s *GetDetectorOutput) SetServiceRole(v string) *GetDetectorOutput { - s.ServiceRole = &v +// SetCreatedAt sets the CreatedAt field's value. +func (s *Finding) SetCreatedAt(v string) *Finding { + s.CreatedAt = &v return s } -// SetStatus sets the Status field's value. -func (s *GetDetectorOutput) SetStatus(v string) *GetDetectorOutput { - s.Status = &v +// SetDescription sets the Description field's value. +func (s *Finding) SetDescription(v string) *Finding { + s.Description = &v return s } -// SetTags sets the Tags field's value. -func (s *GetDetectorOutput) SetTags(v map[string]*string) *GetDetectorOutput { - s.Tags = v +// SetId sets the Id field's value. +func (s *Finding) SetId(v string) *Finding { + s.Id = &v return s } -// SetUpdatedAt sets the UpdatedAt field's value. -func (s *GetDetectorOutput) SetUpdatedAt(v string) *GetDetectorOutput { - s.UpdatedAt = &v +// SetPartition sets the Partition field's value. +func (s *Finding) SetPartition(v string) *Finding { + s.Partition = &v return s } -type GetFilterInput struct { - _ struct{} `type:"structure" nopayload:"true"` - - // The unique ID of the detector that the filter is associated with. - // - // DetectorId is a required field - DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` - - // The name of the filter you want to get. - // - // FilterName is a required field - FilterName *string `location:"uri" locationName:"filterName" type:"string" required:"true"` +// SetRegion sets the Region field's value. +func (s *Finding) SetRegion(v string) *Finding { + s.Region = &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 GetFilterInput) String() string { - return awsutil.Prettify(s) +// SetResource sets the Resource field's value. +func (s *Finding) SetResource(v *Resource) *Finding { + s.Resource = 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 GetFilterInput) GoString() string { - return s.String() +// SetSchemaVersion sets the SchemaVersion field's value. +func (s *Finding) SetSchemaVersion(v string) *Finding { + s.SchemaVersion = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetFilterInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetFilterInput"} - if s.DetectorId == nil { - invalidParams.Add(request.NewErrParamRequired("DetectorId")) - } - if s.DetectorId != nil && len(*s.DetectorId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1)) - } - if s.FilterName == nil { - invalidParams.Add(request.NewErrParamRequired("FilterName")) - } - if s.FilterName != nil && len(*s.FilterName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("FilterName", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetService sets the Service field's value. +func (s *Finding) SetService(v *Service) *Finding { + s.Service = v + return s } -// SetDetectorId sets the DetectorId field's value. -func (s *GetFilterInput) SetDetectorId(v string) *GetFilterInput { - s.DetectorId = &v +// SetSeverity sets the Severity field's value. +func (s *Finding) SetSeverity(v float64) *Finding { + s.Severity = &v return s } -// SetFilterName sets the FilterName field's value. -func (s *GetFilterInput) SetFilterName(v string) *GetFilterInput { - s.FilterName = &v +// SetTitle sets the Title field's value. +func (s *Finding) SetTitle(v string) *Finding { + s.Title = &v return s } -type GetFilterOutput struct { - _ struct{} `type:"structure"` - - // Specifies the action that is to be applied to the findings that match the - // filter. - // - // Action is a required field - Action *string `locationName:"action" min:"1" type:"string" required:"true" enum:"FilterAction"` - - // The description of the filter. - Description *string `locationName:"description" type:"string"` - - // Represents the criteria to be used in the filter for querying findings. - // - // FindingCriteria is a required field - FindingCriteria *FindingCriteria `locationName:"findingCriteria" type:"structure" required:"true"` +// SetType sets the Type field's value. +func (s *Finding) SetType(v string) *Finding { + s.Type = &v + return s +} - // The name of the filter. - // - // Name is a required field - Name *string `locationName:"name" min:"3" type:"string" required:"true"` +// SetUpdatedAt sets the UpdatedAt field's value. +func (s *Finding) SetUpdatedAt(v string) *Finding { + s.UpdatedAt = &v + return s +} - // Specifies the position of the filter in the list of current filters. Also - // specifies the order in which this filter is applied to the findings. - Rank *int64 `locationName:"rank" min:"1" type:"integer"` +// Contains information about the criteria used for querying findings. +type FindingCriteria struct { + _ struct{} `type:"structure"` - // The tags of the filter resource. - Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + // Represents a map of finding properties that match specified conditions and + // values when querying findings. + Criterion map[string]*Condition `locationName:"criterion" type:"map"` } // String returns the string representation. @@ -10840,7 +11400,7 @@ type GetFilterOutput 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 GetFilterOutput) String() string { +func (s FindingCriteria) String() string { return awsutil.Prettify(s) } @@ -10849,62 +11409,56 @@ func (s GetFilterOutput) 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 GetFilterOutput) GoString() string { +func (s FindingCriteria) GoString() string { return s.String() } -// SetAction sets the Action field's value. -func (s *GetFilterOutput) SetAction(v string) *GetFilterOutput { - s.Action = &v +// SetCriterion sets the Criterion field's value. +func (s *FindingCriteria) SetCriterion(v map[string]*Condition) *FindingCriteria { + s.Criterion = v return s } -// SetDescription sets the Description field's value. -func (s *GetFilterOutput) SetDescription(v string) *GetFilterOutput { - s.Description = &v - return s -} +// Contains information about finding statistics. +type FindingStatistics struct { + _ struct{} `type:"structure"` -// SetFindingCriteria sets the FindingCriteria field's value. -func (s *GetFilterOutput) SetFindingCriteria(v *FindingCriteria) *GetFilterOutput { - s.FindingCriteria = v - return s + // Represents a map of severity to count statistics for a set of findings. + CountBySeverity map[string]*int64 `locationName:"countBySeverity" type:"map"` } -// SetName sets the Name field's value. -func (s *GetFilterOutput) SetName(v string) *GetFilterOutput { - s.Name = &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 FindingStatistics) String() string { + return awsutil.Prettify(s) } -// SetRank sets the Rank field's value. -func (s *GetFilterOutput) SetRank(v int64) *GetFilterOutput { - s.Rank = &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 FindingStatistics) GoString() string { + return s.String() } -// SetTags sets the Tags field's value. -func (s *GetFilterOutput) SetTags(v map[string]*string) *GetFilterOutput { - s.Tags = v +// SetCountBySeverity sets the CountBySeverity field's value. +func (s *FindingStatistics) SetCountBySeverity(v map[string]*int64) *FindingStatistics { + s.CountBySeverity = v return s } -type GetFindingsInput struct { +// Contains information on the status of VPC flow logs as a data source. +type FlowLogsConfigurationResult struct { _ struct{} `type:"structure"` - // The ID of the detector that specifies the GuardDuty service whose findings - // you want to retrieve. - // - // DetectorId is a required field - DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` - - // The IDs of the findings that you want to retrieve. + // Denotes whether VPC flow logs is enabled as a data source. // - // FindingIds is a required field - FindingIds []*string `locationName:"findingIds" type:"list" required:"true"` - - // Represents the criteria used for sorting findings. - SortCriteria *SortCriteria `locationName:"sortCriteria" type:"structure"` + // Status is a required field + Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"DataSourceStatus"` } // String returns the string representation. @@ -10912,7 +11466,7 @@ type GetFindingsInput 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 GetFindingsInput) String() string { +func (s FlowLogsConfigurationResult) String() string { return awsutil.Prettify(s) } @@ -10921,54 +11475,25 @@ func (s GetFindingsInput) 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 GetFindingsInput) GoString() string { +func (s FlowLogsConfigurationResult) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetFindingsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetFindingsInput"} - if s.DetectorId == nil { - invalidParams.Add(request.NewErrParamRequired("DetectorId")) - } - if s.DetectorId != nil && len(*s.DetectorId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1)) - } - if s.FindingIds == nil { - invalidParams.Add(request.NewErrParamRequired("FindingIds")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetDetectorId sets the DetectorId field's value. -func (s *GetFindingsInput) SetDetectorId(v string) *GetFindingsInput { - s.DetectorId = &v - return s -} - -// SetFindingIds sets the FindingIds field's value. -func (s *GetFindingsInput) SetFindingIds(v []*string) *GetFindingsInput { - s.FindingIds = v - return s -} - -// SetSortCriteria sets the SortCriteria field's value. -func (s *GetFindingsInput) SetSortCriteria(v *SortCriteria) *GetFindingsInput { - s.SortCriteria = v +// SetStatus sets the Status field's value. +func (s *FlowLogsConfigurationResult) SetStatus(v string) *FlowLogsConfigurationResult { + s.Status = &v return s } -type GetFindingsOutput struct { +// Contains information about the location of the remote IP address. +type GeoLocation struct { _ struct{} `type:"structure"` - // A list of findings. - // - // Findings is a required field - Findings []*Finding `locationName:"findings" type:"list" required:"true"` + // The latitude information of the remote IP address. + Lat *float64 `locationName:"lat" type:"double"` + + // The longitude information of the remote IP address. + Lon *float64 `locationName:"lon" type:"double"` } // String returns the string representation. @@ -10976,7 +11501,7 @@ type GetFindingsOutput 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 GetFindingsOutput) String() string { +func (s GeoLocation) String() string { return awsutil.Prettify(s) } @@ -10985,32 +11510,29 @@ func (s GetFindingsOutput) 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 GetFindingsOutput) GoString() string { +func (s GeoLocation) GoString() string { return s.String() } -// SetFindings sets the Findings field's value. -func (s *GetFindingsOutput) SetFindings(v []*Finding) *GetFindingsOutput { - s.Findings = v +// SetLat sets the Lat field's value. +func (s *GeoLocation) SetLat(v float64) *GeoLocation { + s.Lat = &v return s } -type GetFindingsStatisticsInput struct { - _ struct{} `type:"structure"` +// SetLon sets the Lon field's value. +func (s *GeoLocation) SetLon(v float64) *GeoLocation { + s.Lon = &v + return s +} - // The ID of the detector that specifies the GuardDuty service whose findings' - // statistics you want to retrieve. +type GetAdministratorAccountInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The unique ID of the detector of the GuardDuty member account. // // DetectorId is a required field DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` - - // Represents the criteria that is used for querying findings. - FindingCriteria *FindingCriteria `locationName:"findingCriteria" type:"structure"` - - // The types of finding statistics to retrieve. - // - // FindingStatisticTypes is a required field - FindingStatisticTypes []*string `locationName:"findingStatisticTypes" type:"list" required:"true" enum:"FindingStatisticType"` } // String returns the string representation. @@ -11018,7 +11540,7 @@ type GetFindingsStatisticsInput 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 GetFindingsStatisticsInput) String() string { +func (s GetAdministratorAccountInput) String() string { return awsutil.Prettify(s) } @@ -11027,22 +11549,19 @@ func (s GetFindingsStatisticsInput) 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 GetFindingsStatisticsInput) GoString() string { +func (s GetAdministratorAccountInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetFindingsStatisticsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetFindingsStatisticsInput"} +func (s *GetAdministratorAccountInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetAdministratorAccountInput"} if s.DetectorId == nil { invalidParams.Add(request.NewErrParamRequired("DetectorId")) } if s.DetectorId != nil && len(*s.DetectorId) < 1 { invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1)) } - if s.FindingStatisticTypes == nil { - invalidParams.Add(request.NewErrParamRequired("FindingStatisticTypes")) - } if invalidParams.Len() > 0 { return invalidParams @@ -11051,30 +11570,18 @@ func (s *GetFindingsStatisticsInput) Validate() error { } // SetDetectorId sets the DetectorId field's value. -func (s *GetFindingsStatisticsInput) SetDetectorId(v string) *GetFindingsStatisticsInput { +func (s *GetAdministratorAccountInput) SetDetectorId(v string) *GetAdministratorAccountInput { s.DetectorId = &v return s } -// SetFindingCriteria sets the FindingCriteria field's value. -func (s *GetFindingsStatisticsInput) SetFindingCriteria(v *FindingCriteria) *GetFindingsStatisticsInput { - s.FindingCriteria = v - return s -} - -// SetFindingStatisticTypes sets the FindingStatisticTypes field's value. -func (s *GetFindingsStatisticsInput) SetFindingStatisticTypes(v []*string) *GetFindingsStatisticsInput { - s.FindingStatisticTypes = v - return s -} - -type GetFindingsStatisticsOutput struct { - _ struct{} `type:"structure"` - - // The finding statistics object. - // - // FindingStatistics is a required field - FindingStatistics *FindingStatistics `locationName:"findingStatistics" type:"structure" required:"true"` +type GetAdministratorAccountOutput struct { + _ struct{} `type:"structure"` + + // The administrator account details. + // + // Administrator is a required field + Administrator *Administrator `locationName:"administrator" type:"structure" required:"true"` } // String returns the string representation. @@ -11082,7 +11589,7 @@ type GetFindingsStatisticsOutput 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 GetFindingsStatisticsOutput) String() string { +func (s GetAdministratorAccountOutput) String() string { return awsutil.Prettify(s) } @@ -11091,28 +11598,23 @@ func (s GetFindingsStatisticsOutput) 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 GetFindingsStatisticsOutput) GoString() string { +func (s GetAdministratorAccountOutput) GoString() string { return s.String() } -// SetFindingStatistics sets the FindingStatistics field's value. -func (s *GetFindingsStatisticsOutput) SetFindingStatistics(v *FindingStatistics) *GetFindingsStatisticsOutput { - s.FindingStatistics = v +// SetAdministrator sets the Administrator field's value. +func (s *GetAdministratorAccountOutput) SetAdministrator(v *Administrator) *GetAdministratorAccountOutput { + s.Administrator = v return s } -type GetIPSetInput struct { +type GetDetectorInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The unique ID of the detector that the IPSet is associated with. + // The unique ID of the detector that you want to get. // // DetectorId is a required field DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` - - // The unique ID of the IPSet to retrieve. - // - // IpSetId is a required field - IpSetId *string `location:"uri" locationName:"ipSetId" type:"string" required:"true"` } // String returns the string representation. @@ -11120,7 +11622,7 @@ type GetIPSetInput 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 GetIPSetInput) String() string { +func (s GetDetectorInput) String() string { return awsutil.Prettify(s) } @@ -11129,25 +11631,19 @@ func (s GetIPSetInput) 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 GetIPSetInput) GoString() string { +func (s GetDetectorInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetIPSetInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetIPSetInput"} +func (s *GetDetectorInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDetectorInput"} if s.DetectorId == nil { invalidParams.Add(request.NewErrParamRequired("DetectorId")) } if s.DetectorId != nil && len(*s.DetectorId) < 1 { invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1)) } - if s.IpSetId == nil { - invalidParams.Add(request.NewErrParamRequired("IpSetId")) - } - if s.IpSetId != nil && len(*s.IpSetId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("IpSetId", 1)) - } if invalidParams.Len() > 0 { return invalidParams @@ -11156,42 +11652,38 @@ func (s *GetIPSetInput) Validate() error { } // SetDetectorId sets the DetectorId field's value. -func (s *GetIPSetInput) SetDetectorId(v string) *GetIPSetInput { +func (s *GetDetectorInput) SetDetectorId(v string) *GetDetectorInput { s.DetectorId = &v return s } -// SetIpSetId sets the IpSetId field's value. -func (s *GetIPSetInput) SetIpSetId(v string) *GetIPSetInput { - s.IpSetId = &v - return s -} - -type GetIPSetOutput struct { +type GetDetectorOutput struct { _ struct{} `type:"structure"` - // The format of the file that contains the IPSet. - // - // Format is a required field - Format *string `locationName:"format" min:"1" type:"string" required:"true" enum:"IpSetFormat"` + // The timestamp of when the detector was created. + CreatedAt *string `locationName:"createdAt" type:"string"` - // The URI of the file that contains the IPSet. - // - // Location is a required field - Location *string `locationName:"location" min:"1" type:"string" required:"true"` + // Describes which data sources are enabled for the detector. + DataSources *DataSourceConfigurationsResult `locationName:"dataSources" type:"structure"` - // The user-friendly name for the IPSet. + // The publishing frequency of the finding. + FindingPublishingFrequency *string `locationName:"findingPublishingFrequency" type:"string" enum:"FindingPublishingFrequency"` + + // The GuardDuty service role. // - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` + // ServiceRole is a required field + ServiceRole *string `locationName:"serviceRole" type:"string" required:"true"` - // The status of IPSet file that was uploaded. + // The detector status. // // Status is a required field - Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"IpSetStatus"` + Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"DetectorStatus"` - // The tags of the IPSet resource. + // The tags of the detector resource. Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + + // The last-updated timestamp for the detector. + UpdatedAt *string `locationName:"updatedAt" type:"string"` } // String returns the string representation. @@ -11199,7 +11691,7 @@ type GetIPSetOutput 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 GetIPSetOutput) String() string { +func (s GetDetectorOutput) String() string { return awsutil.Prettify(s) } @@ -11208,101 +11700,64 @@ func (s GetIPSetOutput) 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 GetIPSetOutput) GoString() string { +func (s GetDetectorOutput) GoString() string { return s.String() } -// SetFormat sets the Format field's value. -func (s *GetIPSetOutput) SetFormat(v string) *GetIPSetOutput { - s.Format = &v +// SetCreatedAt sets the CreatedAt field's value. +func (s *GetDetectorOutput) SetCreatedAt(v string) *GetDetectorOutput { + s.CreatedAt = &v return s } -// SetLocation sets the Location field's value. -func (s *GetIPSetOutput) SetLocation(v string) *GetIPSetOutput { - s.Location = &v +// SetDataSources sets the DataSources field's value. +func (s *GetDetectorOutput) SetDataSources(v *DataSourceConfigurationsResult) *GetDetectorOutput { + s.DataSources = v return s } -// SetName sets the Name field's value. -func (s *GetIPSetOutput) SetName(v string) *GetIPSetOutput { - s.Name = &v +// SetFindingPublishingFrequency sets the FindingPublishingFrequency field's value. +func (s *GetDetectorOutput) SetFindingPublishingFrequency(v string) *GetDetectorOutput { + s.FindingPublishingFrequency = &v + return s +} + +// SetServiceRole sets the ServiceRole field's value. +func (s *GetDetectorOutput) SetServiceRole(v string) *GetDetectorOutput { + s.ServiceRole = &v return s } // SetStatus sets the Status field's value. -func (s *GetIPSetOutput) SetStatus(v string) *GetIPSetOutput { +func (s *GetDetectorOutput) SetStatus(v string) *GetDetectorOutput { s.Status = &v return s } // SetTags sets the Tags field's value. -func (s *GetIPSetOutput) SetTags(v map[string]*string) *GetIPSetOutput { +func (s *GetDetectorOutput) SetTags(v map[string]*string) *GetDetectorOutput { s.Tags = v return s } -type GetInvitationsCountInput struct { - _ struct{} `type:"structure" nopayload:"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 GetInvitationsCountInput) 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 GetInvitationsCountInput) GoString() string { - return s.String() -} - -type GetInvitationsCountOutput struct { - _ struct{} `type:"structure"` - - // The number of received invitations. - InvitationsCount *int64 `locationName:"invitationsCount" 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 GetInvitationsCountOutput) 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 GetInvitationsCountOutput) GoString() string { - return s.String() -} - -// SetInvitationsCount sets the InvitationsCount field's value. -func (s *GetInvitationsCountOutput) SetInvitationsCount(v int64) *GetInvitationsCountOutput { - s.InvitationsCount = &v +// SetUpdatedAt sets the UpdatedAt field's value. +func (s *GetDetectorOutput) SetUpdatedAt(v string) *GetDetectorOutput { + s.UpdatedAt = &v return s } -// Deprecated: This input is deprecated, use GetAdministratorAccountRequest instead -type GetMasterAccountInput struct { - _ struct{} `deprecated:"true" type:"structure" nopayload:"true"` +type GetFilterInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // The unique ID of the detector of the GuardDuty member account. + // The unique ID of the detector that the filter is associated with. // // DetectorId is a required field DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` + + // The name of the filter you want to get. + // + // FilterName is a required field + FilterName *string `location:"uri" locationName:"filterName" type:"string" required:"true"` } // String returns the string representation. @@ -11310,7 +11765,7 @@ type GetMasterAccountInput 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 GetMasterAccountInput) String() string { +func (s GetFilterInput) String() string { return awsutil.Prettify(s) } @@ -11319,19 +11774,25 @@ func (s GetMasterAccountInput) 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 GetMasterAccountInput) GoString() string { +func (s GetFilterInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetMasterAccountInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetMasterAccountInput"} +func (s *GetFilterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetFilterInput"} if s.DetectorId == nil { invalidParams.Add(request.NewErrParamRequired("DetectorId")) } if s.DetectorId != nil && len(*s.DetectorId) < 1 { invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1)) } + if s.FilterName == nil { + invalidParams.Add(request.NewErrParamRequired("FilterName")) + } + if s.FilterName != nil && len(*s.FilterName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FilterName", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -11340,19 +11801,45 @@ func (s *GetMasterAccountInput) Validate() error { } // SetDetectorId sets the DetectorId field's value. -func (s *GetMasterAccountInput) SetDetectorId(v string) *GetMasterAccountInput { +func (s *GetFilterInput) SetDetectorId(v string) *GetFilterInput { s.DetectorId = &v return s } -// Deprecated: This output is deprecated, use GetAdministratorAccountResponse instead -type GetMasterAccountOutput struct { - _ struct{} `deprecated:"true" type:"structure"` +// SetFilterName sets the FilterName field's value. +func (s *GetFilterInput) SetFilterName(v string) *GetFilterInput { + s.FilterName = &v + return s +} - // The administrator account details. +type GetFilterOutput struct { + _ struct{} `type:"structure"` + + // Specifies the action that is to be applied to the findings that match the + // filter. // - // Master is a required field - Master *Master `locationName:"master" type:"structure" required:"true"` + // Action is a required field + Action *string `locationName:"action" min:"1" type:"string" required:"true" enum:"FilterAction"` + + // The description of the filter. + Description *string `locationName:"description" type:"string"` + + // Represents the criteria to be used in the filter for querying findings. + // + // FindingCriteria is a required field + FindingCriteria *FindingCriteria `locationName:"findingCriteria" type:"structure" required:"true"` + + // The name of the filter. + // + // Name is a required field + Name *string `locationName:"name" min:"3" type:"string" required:"true"` + + // Specifies the position of the filter in the list of current filters. Also + // specifies the order in which this filter is applied to the findings. + Rank *int64 `locationName:"rank" min:"1" type:"integer"` + + // The tags of the filter resource. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` } // String returns the string representation. @@ -11360,7 +11847,7 @@ type GetMasterAccountOutput 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 GetMasterAccountOutput) String() string { +func (s GetFilterOutput) String() string { return awsutil.Prettify(s) } @@ -11369,28 +11856,62 @@ func (s GetMasterAccountOutput) 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 GetMasterAccountOutput) GoString() string { +func (s GetFilterOutput) GoString() string { return s.String() } -// SetMaster sets the Master field's value. -func (s *GetMasterAccountOutput) SetMaster(v *Master) *GetMasterAccountOutput { - s.Master = v +// SetAction sets the Action field's value. +func (s *GetFilterOutput) SetAction(v string) *GetFilterOutput { + s.Action = &v return s } -type GetMemberDetectorsInput struct { - _ struct{} `type:"structure"` +// SetDescription sets the Description field's value. +func (s *GetFilterOutput) SetDescription(v string) *GetFilterOutput { + s.Description = &v + return s +} - // The account ID of the member account. - // - // AccountIds is a required field - AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"` +// SetFindingCriteria sets the FindingCriteria field's value. +func (s *GetFilterOutput) SetFindingCriteria(v *FindingCriteria) *GetFilterOutput { + s.FindingCriteria = v + return s +} - // The detector ID for the administrator account. +// SetName sets the Name field's value. +func (s *GetFilterOutput) SetName(v string) *GetFilterOutput { + s.Name = &v + return s +} + +// SetRank sets the Rank field's value. +func (s *GetFilterOutput) SetRank(v int64) *GetFilterOutput { + s.Rank = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *GetFilterOutput) SetTags(v map[string]*string) *GetFilterOutput { + s.Tags = v + return s +} + +type GetFindingsInput struct { + _ struct{} `type:"structure"` + + // The ID of the detector that specifies the GuardDuty service whose findings + // you want to retrieve. // // DetectorId is a required field DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` + + // The IDs of the findings that you want to retrieve. + // + // FindingIds is a required field + FindingIds []*string `locationName:"findingIds" type:"list" required:"true"` + + // Represents the criteria used for sorting findings. + SortCriteria *SortCriteria `locationName:"sortCriteria" type:"structure"` } // String returns the string representation. @@ -11398,7 +11919,7 @@ type GetMemberDetectorsInput 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 GetMemberDetectorsInput) String() string { +func (s GetFindingsInput) String() string { return awsutil.Prettify(s) } @@ -11407,25 +11928,22 @@ func (s GetMemberDetectorsInput) 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 GetMemberDetectorsInput) GoString() string { +func (s GetFindingsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetMemberDetectorsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetMemberDetectorsInput"} - if s.AccountIds == nil { - invalidParams.Add(request.NewErrParamRequired("AccountIds")) - } - if s.AccountIds != nil && len(s.AccountIds) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1)) - } +func (s *GetFindingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetFindingsInput"} if s.DetectorId == nil { invalidParams.Add(request.NewErrParamRequired("DetectorId")) } if s.DetectorId != nil && len(*s.DetectorId) < 1 { invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1)) } + if s.FindingIds == nil { + invalidParams.Add(request.NewErrParamRequired("FindingIds")) + } if invalidParams.Len() > 0 { return invalidParams @@ -11433,31 +11951,31 @@ func (s *GetMemberDetectorsInput) Validate() error { return nil } -// SetAccountIds sets the AccountIds field's value. -func (s *GetMemberDetectorsInput) SetAccountIds(v []*string) *GetMemberDetectorsInput { - s.AccountIds = v +// SetDetectorId sets the DetectorId field's value. +func (s *GetFindingsInput) SetDetectorId(v string) *GetFindingsInput { + s.DetectorId = &v return s } -// SetDetectorId sets the DetectorId field's value. -func (s *GetMemberDetectorsInput) SetDetectorId(v string) *GetMemberDetectorsInput { - s.DetectorId = &v +// SetFindingIds sets the FindingIds field's value. +func (s *GetFindingsInput) SetFindingIds(v []*string) *GetFindingsInput { + s.FindingIds = v return s } -type GetMemberDetectorsOutput struct { - _ struct{} `type:"structure"` +// SetSortCriteria sets the SortCriteria field's value. +func (s *GetFindingsInput) SetSortCriteria(v *SortCriteria) *GetFindingsInput { + s.SortCriteria = v + return s +} - // An object that describes which data sources are enabled for a member account. - // - // MemberDataSourceConfigurations is a required field - MemberDataSourceConfigurations []*MemberDataSourceConfiguration `locationName:"members" min:"1" type:"list" required:"true"` +type GetFindingsOutput struct { + _ struct{} `type:"structure"` - // A list of member account IDs that were unable to be processed along with - // an explanation for why they were not processed. + // A list of findings. // - // UnprocessedAccounts is a required field - UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"` + // Findings is a required field + Findings []*Finding `locationName:"findings" type:"list" required:"true"` } // String returns the string representation. @@ -11465,7 +11983,7 @@ type GetMemberDetectorsOutput 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 GetMemberDetectorsOutput) String() string { +func (s GetFindingsOutput) String() string { return awsutil.Prettify(s) } @@ -11474,35 +11992,32 @@ func (s GetMemberDetectorsOutput) 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 GetMemberDetectorsOutput) GoString() string { +func (s GetFindingsOutput) GoString() string { return s.String() } -// SetMemberDataSourceConfigurations sets the MemberDataSourceConfigurations field's value. -func (s *GetMemberDetectorsOutput) SetMemberDataSourceConfigurations(v []*MemberDataSourceConfiguration) *GetMemberDetectorsOutput { - s.MemberDataSourceConfigurations = v - return s -} - -// SetUnprocessedAccounts sets the UnprocessedAccounts field's value. -func (s *GetMemberDetectorsOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *GetMemberDetectorsOutput { - s.UnprocessedAccounts = v +// SetFindings sets the Findings field's value. +func (s *GetFindingsOutput) SetFindings(v []*Finding) *GetFindingsOutput { + s.Findings = v return s } -type GetMembersInput struct { +type GetFindingsStatisticsInput struct { _ struct{} `type:"structure"` - // A list of account IDs of the GuardDuty member accounts that you want to describe. - // - // AccountIds is a required field - AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"` - - // The unique ID of the detector of the GuardDuty account whose members you - // want to retrieve. + // The ID of the detector that specifies the GuardDuty service whose findings' + // statistics you want to retrieve. // // DetectorId is a required field DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` + + // Represents the criteria that is used for querying findings. + FindingCriteria *FindingCriteria `locationName:"findingCriteria" type:"structure"` + + // The types of finding statistics to retrieve. + // + // FindingStatisticTypes is a required field + FindingStatisticTypes []*string `locationName:"findingStatisticTypes" type:"list" required:"true" enum:"FindingStatisticType"` } // String returns the string representation. @@ -11510,7 +12025,7 @@ type GetMembersInput 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 GetMembersInput) String() string { +func (s GetFindingsStatisticsInput) String() string { return awsutil.Prettify(s) } @@ -11519,25 +12034,22 @@ func (s GetMembersInput) 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 GetMembersInput) GoString() string { +func (s GetFindingsStatisticsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetMembersInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetMembersInput"} - if s.AccountIds == nil { - invalidParams.Add(request.NewErrParamRequired("AccountIds")) - } - if s.AccountIds != nil && len(s.AccountIds) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1)) - } +func (s *GetFindingsStatisticsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetFindingsStatisticsInput"} if s.DetectorId == nil { invalidParams.Add(request.NewErrParamRequired("DetectorId")) } if s.DetectorId != nil && len(*s.DetectorId) < 1 { invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1)) } + if s.FindingStatisticTypes == nil { + invalidParams.Add(request.NewErrParamRequired("FindingStatisticTypes")) + } if invalidParams.Len() > 0 { return invalidParams @@ -11545,31 +12057,31 @@ func (s *GetMembersInput) Validate() error { return nil } -// SetAccountIds sets the AccountIds field's value. -func (s *GetMembersInput) SetAccountIds(v []*string) *GetMembersInput { - s.AccountIds = v +// SetDetectorId sets the DetectorId field's value. +func (s *GetFindingsStatisticsInput) SetDetectorId(v string) *GetFindingsStatisticsInput { + s.DetectorId = &v return s } -// SetDetectorId sets the DetectorId field's value. -func (s *GetMembersInput) SetDetectorId(v string) *GetMembersInput { - s.DetectorId = &v +// SetFindingCriteria sets the FindingCriteria field's value. +func (s *GetFindingsStatisticsInput) SetFindingCriteria(v *FindingCriteria) *GetFindingsStatisticsInput { + s.FindingCriteria = v return s } -type GetMembersOutput struct { - _ struct{} `type:"structure"` +// SetFindingStatisticTypes sets the FindingStatisticTypes field's value. +func (s *GetFindingsStatisticsInput) SetFindingStatisticTypes(v []*string) *GetFindingsStatisticsInput { + s.FindingStatisticTypes = v + return s +} - // A list of members. - // - // Members is a required field - Members []*Member `locationName:"members" type:"list" required:"true"` +type GetFindingsStatisticsOutput struct { + _ struct{} `type:"structure"` - // A list of objects that contain the unprocessed account and a result string - // that explains why it was unprocessed. + // The finding statistics object. // - // UnprocessedAccounts is a required field - UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"` + // FindingStatistics is a required field + FindingStatistics *FindingStatistics `locationName:"findingStatistics" type:"structure" required:"true"` } // String returns the string representation. @@ -11577,7 +12089,7 @@ type GetMembersOutput 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 GetMembersOutput) String() string { +func (s GetFindingsStatisticsOutput) String() string { return awsutil.Prettify(s) } @@ -11586,32 +12098,28 @@ func (s GetMembersOutput) 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 GetMembersOutput) GoString() string { +func (s GetFindingsStatisticsOutput) GoString() string { return s.String() } -// SetMembers sets the Members field's value. -func (s *GetMembersOutput) SetMembers(v []*Member) *GetMembersOutput { - s.Members = v - return s -} - -// SetUnprocessedAccounts sets the UnprocessedAccounts field's value. -func (s *GetMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *GetMembersOutput { - s.UnprocessedAccounts = v +// SetFindingStatistics sets the FindingStatistics field's value. +func (s *GetFindingsStatisticsOutput) SetFindingStatistics(v *FindingStatistics) *GetFindingsStatisticsOutput { + s.FindingStatistics = v return s } -type GetRemainingFreeTrialDaysInput struct { - _ struct{} `type:"structure"` - - // A list of account identifiers of the GuardDuty member account. - AccountIds []*string `locationName:"accountIds" min:"1" type:"list"` +type GetIPSetInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // The unique ID of the detector of the GuardDuty member account. + // The unique ID of the detector that the IPSet is associated with. // // DetectorId is a required field DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` + + // The unique ID of the IPSet to retrieve. + // + // IpSetId is a required field + IpSetId *string `location:"uri" locationName:"ipSetId" type:"string" required:"true"` } // String returns the string representation. @@ -11619,7 +12127,7 @@ type GetRemainingFreeTrialDaysInput 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 GetRemainingFreeTrialDaysInput) String() string { +func (s GetIPSetInput) String() string { return awsutil.Prettify(s) } @@ -11628,22 +12136,25 @@ func (s GetRemainingFreeTrialDaysInput) 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 GetRemainingFreeTrialDaysInput) GoString() string { +func (s GetIPSetInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetRemainingFreeTrialDaysInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetRemainingFreeTrialDaysInput"} - if s.AccountIds != nil && len(s.AccountIds) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1)) - } +func (s *GetIPSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetIPSetInput"} if s.DetectorId == nil { invalidParams.Add(request.NewErrParamRequired("DetectorId")) } if s.DetectorId != nil && len(*s.DetectorId) < 1 { invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1)) } + if s.IpSetId == nil { + invalidParams.Add(request.NewErrParamRequired("IpSetId")) + } + if s.IpSetId != nil && len(*s.IpSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IpSetId", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -11651,71 +12162,153 @@ func (s *GetRemainingFreeTrialDaysInput) Validate() error { return nil } -// SetAccountIds sets the AccountIds field's value. -func (s *GetRemainingFreeTrialDaysInput) SetAccountIds(v []*string) *GetRemainingFreeTrialDaysInput { - s.AccountIds = v +// SetDetectorId sets the DetectorId field's value. +func (s *GetIPSetInput) SetDetectorId(v string) *GetIPSetInput { + s.DetectorId = &v return s } -// SetDetectorId sets the DetectorId field's value. -func (s *GetRemainingFreeTrialDaysInput) SetDetectorId(v string) *GetRemainingFreeTrialDaysInput { - s.DetectorId = &v +// SetIpSetId sets the IpSetId field's value. +func (s *GetIPSetInput) SetIpSetId(v string) *GetIPSetInput { + s.IpSetId = &v return s } -type GetRemainingFreeTrialDaysOutput struct { +type GetIPSetOutput struct { _ struct{} `type:"structure"` - // The member accounts which were included in a request and were processed successfully. - Accounts []*AccountFreeTrialInfo `locationName:"accounts" type:"list"` + // The format of the file that contains the IPSet. + // + // Format is a required field + Format *string `locationName:"format" min:"1" type:"string" required:"true" enum:"IpSetFormat"` - // The member account that was included in a request but for which the request - // could not be processed. - UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list"` -} + // The URI of the file that contains the IPSet. + // + // Location is a required field + Location *string `locationName:"location" 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 GetRemainingFreeTrialDaysOutput) String() string { - return awsutil.Prettify(s) -} + // The user-friendly name for the IPSet. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The status of IPSet file that was uploaded. + // + // Status is a required field + Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"IpSetStatus"` + + // The tags of the IPSet resource. + 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 GetIPSetOutput) 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 GetRemainingFreeTrialDaysOutput) GoString() string { +func (s GetIPSetOutput) GoString() string { return s.String() } -// SetAccounts sets the Accounts field's value. -func (s *GetRemainingFreeTrialDaysOutput) SetAccounts(v []*AccountFreeTrialInfo) *GetRemainingFreeTrialDaysOutput { - s.Accounts = v +// SetFormat sets the Format field's value. +func (s *GetIPSetOutput) SetFormat(v string) *GetIPSetOutput { + s.Format = &v return s } -// SetUnprocessedAccounts sets the UnprocessedAccounts field's value. -func (s *GetRemainingFreeTrialDaysOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *GetRemainingFreeTrialDaysOutput { - s.UnprocessedAccounts = v +// SetLocation sets the Location field's value. +func (s *GetIPSetOutput) SetLocation(v string) *GetIPSetOutput { + s.Location = &v return s } -type GetThreatIntelSetInput struct { +// SetName sets the Name field's value. +func (s *GetIPSetOutput) SetName(v string) *GetIPSetOutput { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetIPSetOutput) SetStatus(v string) *GetIPSetOutput { + s.Status = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *GetIPSetOutput) SetTags(v map[string]*string) *GetIPSetOutput { + s.Tags = v + return s +} + +type GetInvitationsCountInput struct { _ struct{} `type:"structure" nopayload:"true"` +} - // The unique ID of the detector that the threatIntelSet is associated with. +// 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 GetInvitationsCountInput) 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 GetInvitationsCountInput) GoString() string { + return s.String() +} + +type GetInvitationsCountOutput struct { + _ struct{} `type:"structure"` + + // The number of received invitations. + InvitationsCount *int64 `locationName:"invitationsCount" 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 GetInvitationsCountOutput) 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 GetInvitationsCountOutput) GoString() string { + return s.String() +} + +// SetInvitationsCount sets the InvitationsCount field's value. +func (s *GetInvitationsCountOutput) SetInvitationsCount(v int64) *GetInvitationsCountOutput { + s.InvitationsCount = &v + return s +} + +type GetMalwareScanSettingsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The unique ID of the detector that the scan setting is associated with. // // DetectorId is a required field DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` - - // The unique ID of the threatIntelSet that you want to get. - // - // ThreatIntelSetId is a required field - ThreatIntelSetId *string `location:"uri" locationName:"threatIntelSetId" type:"string" required:"true"` } // String returns the string representation. @@ -11723,7 +12316,7 @@ type GetThreatIntelSetInput 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 GetThreatIntelSetInput) String() string { +func (s GetMalwareScanSettingsInput) String() string { return awsutil.Prettify(s) } @@ -11732,25 +12325,19 @@ func (s GetThreatIntelSetInput) 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 GetThreatIntelSetInput) GoString() string { +func (s GetMalwareScanSettingsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetThreatIntelSetInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetThreatIntelSetInput"} +func (s *GetMalwareScanSettingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetMalwareScanSettingsInput"} if s.DetectorId == nil { invalidParams.Add(request.NewErrParamRequired("DetectorId")) } if s.DetectorId != nil && len(*s.DetectorId) < 1 { invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1)) } - if s.ThreatIntelSetId == nil { - invalidParams.Add(request.NewErrParamRequired("ThreatIntelSetId")) - } - if s.ThreatIntelSetId != nil && len(*s.ThreatIntelSetId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ThreatIntelSetId", 1)) - } if invalidParams.Len() > 0 { return invalidParams @@ -11759,43 +12346,19 @@ func (s *GetThreatIntelSetInput) Validate() error { } // SetDetectorId sets the DetectorId field's value. -func (s *GetThreatIntelSetInput) SetDetectorId(v string) *GetThreatIntelSetInput { +func (s *GetMalwareScanSettingsInput) SetDetectorId(v string) *GetMalwareScanSettingsInput { s.DetectorId = &v return s } -// SetThreatIntelSetId sets the ThreatIntelSetId field's value. -func (s *GetThreatIntelSetInput) SetThreatIntelSetId(v string) *GetThreatIntelSetInput { - s.ThreatIntelSetId = &v - return s -} - -type GetThreatIntelSetOutput struct { +type GetMalwareScanSettingsOutput struct { _ struct{} `type:"structure"` - // The format of the threatIntelSet. - // - // Format is a required field - Format *string `locationName:"format" min:"1" type:"string" required:"true" enum:"ThreatIntelSetFormat"` - - // The URI of the file that contains the ThreatIntelSet. - // - // Location is a required field - Location *string `locationName:"location" min:"1" type:"string" required:"true"` - - // A user-friendly ThreatIntelSet name displayed in all findings that are generated - // by activity that involves IP addresses included in this ThreatIntelSet. - // - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` - - // The status of threatIntelSet file uploaded. - // - // Status is a required field - Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"ThreatIntelSetStatus"` + // An enum value representing possible snapshot preservations. + EbsSnapshotPreservation *string `locationName:"ebsSnapshotPreservation" type:"string" enum:"EbsSnapshotPreservation"` - // The tags of the threat list resource. - Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + // Represents the criteria to be used in the filter for scanning resources. + ScanResourceCriteria *ScanResourceCriteria `locationName:"scanResourceCriteria" type:"structure"` } // String returns the string representation. @@ -11803,7 +12366,7 @@ type GetThreatIntelSetOutput 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 GetThreatIntelSetOutput) String() string { +func (s GetMalwareScanSettingsOutput) String() string { return awsutil.Prettify(s) } @@ -11812,71 +12375,30 @@ func (s GetThreatIntelSetOutput) 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 GetThreatIntelSetOutput) GoString() string { +func (s GetMalwareScanSettingsOutput) GoString() string { return s.String() } -// SetFormat sets the Format field's value. -func (s *GetThreatIntelSetOutput) SetFormat(v string) *GetThreatIntelSetOutput { - s.Format = &v - return s -} - -// SetLocation sets the Location field's value. -func (s *GetThreatIntelSetOutput) SetLocation(v string) *GetThreatIntelSetOutput { - s.Location = &v - return s -} - -// SetName sets the Name field's value. -func (s *GetThreatIntelSetOutput) SetName(v string) *GetThreatIntelSetOutput { - s.Name = &v - return s -} - -// SetStatus sets the Status field's value. -func (s *GetThreatIntelSetOutput) SetStatus(v string) *GetThreatIntelSetOutput { - s.Status = &v +// SetEbsSnapshotPreservation sets the EbsSnapshotPreservation field's value. +func (s *GetMalwareScanSettingsOutput) SetEbsSnapshotPreservation(v string) *GetMalwareScanSettingsOutput { + s.EbsSnapshotPreservation = &v return s } -// SetTags sets the Tags field's value. -func (s *GetThreatIntelSetOutput) SetTags(v map[string]*string) *GetThreatIntelSetOutput { - s.Tags = v +// SetScanResourceCriteria sets the ScanResourceCriteria field's value. +func (s *GetMalwareScanSettingsOutput) SetScanResourceCriteria(v *ScanResourceCriteria) *GetMalwareScanSettingsOutput { + s.ScanResourceCriteria = v return s } -type GetUsageStatisticsInput struct { - _ struct{} `type:"structure"` +// Deprecated: This input is deprecated, use GetAdministratorAccountRequest instead +type GetMasterAccountInput struct { + _ struct{} `deprecated:"true" type:"structure" nopayload:"true"` - // The ID of the detector that specifies the GuardDuty service whose usage statistics - // you want to retrieve. + // The unique ID of the detector of the GuardDuty member account. // // DetectorId is a required field DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` - - // The maximum number of results to return in the response. - MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` - - // A token to use for paginating results that are returned in the response. - // Set the value of this parameter to null for the first request to a list action. - // For subsequent calls, use the NextToken value returned from the previous - // request to continue listing results after the first page. - NextToken *string `locationName:"nextToken" type:"string"` - - // The currency unit you would like to view your usage statistics in. Current - // valid values are USD. - Unit *string `locationName:"unit" type:"string"` - - // Represents the criteria used for querying usage. - // - // UsageCriteria is a required field - UsageCriteria *UsageCriteria `locationName:"usageCriteria" type:"structure" required:"true"` - - // The type of usage statistics to retrieve. - // - // UsageStatisticType is a required field - UsageStatisticType *string `locationName:"usageStatisticsType" type:"string" required:"true" enum:"UsageStatisticType"` } // String returns the string representation. @@ -11884,7 +12406,7 @@ type GetUsageStatisticsInput 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 GetUsageStatisticsInput) String() string { +func (s GetMasterAccountInput) String() string { return awsutil.Prettify(s) } @@ -11893,33 +12415,19 @@ func (s GetUsageStatisticsInput) 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 GetUsageStatisticsInput) GoString() string { +func (s GetMasterAccountInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetUsageStatisticsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetUsageStatisticsInput"} +func (s *GetMasterAccountInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetMasterAccountInput"} if s.DetectorId == nil { invalidParams.Add(request.NewErrParamRequired("DetectorId")) } if s.DetectorId != nil && len(*s.DetectorId) < 1 { invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1)) } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - if s.UsageCriteria == nil { - invalidParams.Add(request.NewErrParamRequired("UsageCriteria")) - } - if s.UsageStatisticType == nil { - invalidParams.Add(request.NewErrParamRequired("UsageStatisticType")) - } - if s.UsageCriteria != nil { - if err := s.UsageCriteria.Validate(); err != nil { - invalidParams.AddNested("UsageCriteria", err.(request.ErrInvalidParams)) - } - } if invalidParams.Len() > 0 { return invalidParams @@ -11928,51 +12436,57 @@ func (s *GetUsageStatisticsInput) Validate() error { } // SetDetectorId sets the DetectorId field's value. -func (s *GetUsageStatisticsInput) SetDetectorId(v string) *GetUsageStatisticsInput { +func (s *GetMasterAccountInput) SetDetectorId(v string) *GetMasterAccountInput { s.DetectorId = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *GetUsageStatisticsInput) SetMaxResults(v int64) *GetUsageStatisticsInput { - s.MaxResults = &v - return s -} +// Deprecated: This output is deprecated, use GetAdministratorAccountResponse instead +type GetMasterAccountOutput struct { + _ struct{} `deprecated:"true" type:"structure"` -// SetNextToken sets the NextToken field's value. -func (s *GetUsageStatisticsInput) SetNextToken(v string) *GetUsageStatisticsInput { - s.NextToken = &v - return s + // The administrator account details. + // + // Master is a required field + Master *Master `locationName:"master" type:"structure" required:"true"` } -// SetUnit sets the Unit field's value. -func (s *GetUsageStatisticsInput) SetUnit(v string) *GetUsageStatisticsInput { - s.Unit = &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 GetMasterAccountOutput) String() string { + return awsutil.Prettify(s) +} -// SetUsageCriteria sets the UsageCriteria field's value. -func (s *GetUsageStatisticsInput) SetUsageCriteria(v *UsageCriteria) *GetUsageStatisticsInput { - s.UsageCriteria = 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 GetMasterAccountOutput) GoString() string { + return s.String() } -// SetUsageStatisticType sets the UsageStatisticType field's value. -func (s *GetUsageStatisticsInput) SetUsageStatisticType(v string) *GetUsageStatisticsInput { - s.UsageStatisticType = &v +// SetMaster sets the Master field's value. +func (s *GetMasterAccountOutput) SetMaster(v *Master) *GetMasterAccountOutput { + s.Master = v return s } -type GetUsageStatisticsOutput struct { +type GetMemberDetectorsInput struct { _ struct{} `type:"structure"` - // The pagination parameter to be used on the next list operation to retrieve - // more items. - NextToken *string `locationName:"nextToken" type:"string"` + // The account ID of the member account. + // + // AccountIds is a required field + AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"` - // The usage statistics object. If a UsageStatisticType was provided, the objects - // representing other types will be null. - UsageStatistics *UsageStatistics `locationName:"usageStatistics" type:"structure"` + // The detector ID for the administrator account. + // + // DetectorId is a required field + DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -11980,7 +12494,7 @@ type GetUsageStatisticsOutput 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 GetUsageStatisticsOutput) String() string { +func (s GetMemberDetectorsInput) String() string { return awsutil.Prettify(s) } @@ -11989,29 +12503,57 @@ func (s GetUsageStatisticsOutput) 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 GetUsageStatisticsOutput) GoString() string { +func (s GetMemberDetectorsInput) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *GetUsageStatisticsOutput) SetNextToken(v string) *GetUsageStatisticsOutput { - s.NextToken = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetMemberDetectorsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetMemberDetectorsInput"} + if s.AccountIds == nil { + invalidParams.Add(request.NewErrParamRequired("AccountIds")) + } + if s.AccountIds != nil && len(s.AccountIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1)) + } + if s.DetectorId == nil { + invalidParams.Add(request.NewErrParamRequired("DetectorId")) + } + if s.DetectorId != nil && len(*s.DetectorId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccountIds sets the AccountIds field's value. +func (s *GetMemberDetectorsInput) SetAccountIds(v []*string) *GetMemberDetectorsInput { + s.AccountIds = v return s } -// SetUsageStatistics sets the UsageStatistics field's value. -func (s *GetUsageStatisticsOutput) SetUsageStatistics(v *UsageStatistics) *GetUsageStatisticsOutput { - s.UsageStatistics = v +// SetDetectorId sets the DetectorId field's value. +func (s *GetMemberDetectorsInput) SetDetectorId(v string) *GetMemberDetectorsInput { + s.DetectorId = &v return s } -// Represents a pre-existing file or directory on the host machine that the -// volume maps to. -type HostPath struct { +type GetMemberDetectorsOutput struct { _ struct{} `type:"structure"` - // Path of the file or directory on the host that the volume maps to. - Path *string `locationName:"path" type:"string"` + // An object that describes which data sources are enabled for a member account. + // + // MemberDataSourceConfigurations is a required field + MemberDataSourceConfigurations []*MemberDataSourceConfiguration `locationName:"members" min:"1" type:"list" required:"true"` + + // A list of member account IDs that were unable to be processed along with + // an explanation for why they were not processed. + // + // UnprocessedAccounts is a required field + UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"` } // String returns the string representation. @@ -12019,7 +12561,7 @@ type HostPath 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 HostPath) String() string { +func (s GetMemberDetectorsOutput) String() string { return awsutil.Prettify(s) } @@ -12028,25 +12570,35 @@ func (s HostPath) 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 HostPath) GoString() string { +func (s GetMemberDetectorsOutput) GoString() string { return s.String() } -// SetPath sets the Path field's value. -func (s *HostPath) SetPath(v string) *HostPath { - s.Path = &v +// SetMemberDataSourceConfigurations sets the MemberDataSourceConfigurations field's value. +func (s *GetMemberDetectorsOutput) SetMemberDataSourceConfigurations(v []*MemberDataSourceConfiguration) *GetMemberDetectorsOutput { + s.MemberDataSourceConfigurations = v return s } -// Contains information about the EC2 instance profile. -type IamInstanceProfile struct { +// SetUnprocessedAccounts sets the UnprocessedAccounts field's value. +func (s *GetMemberDetectorsOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *GetMemberDetectorsOutput { + s.UnprocessedAccounts = v + return s +} + +type GetMembersInput struct { _ struct{} `type:"structure"` - // The profile ARN of the EC2 instance. - Arn *string `locationName:"arn" type:"string"` + // A list of account IDs of the GuardDuty member accounts that you want to describe. + // + // AccountIds is a required field + AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"` - // The profile ID of the EC2 instance. - Id *string `locationName:"id" type:"string"` + // The unique ID of the detector of the GuardDuty account whose members you + // want to retrieve. + // + // DetectorId is a required field + DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -12054,7 +12606,7 @@ type IamInstanceProfile 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 IamInstanceProfile) String() string { +func (s GetMembersInput) String() string { return awsutil.Prettify(s) } @@ -12063,65 +12615,57 @@ func (s IamInstanceProfile) 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 IamInstanceProfile) GoString() string { +func (s GetMembersInput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *IamInstanceProfile) SetArn(v string) *IamInstanceProfile { - s.Arn = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetMembersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetMembersInput"} + if s.AccountIds == nil { + invalidParams.Add(request.NewErrParamRequired("AccountIds")) + } + if s.AccountIds != nil && len(s.AccountIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1)) + } + if s.DetectorId == nil { + invalidParams.Add(request.NewErrParamRequired("DetectorId")) + } + if s.DetectorId != nil && len(*s.DetectorId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccountIds sets the AccountIds field's value. +func (s *GetMembersInput) SetAccountIds(v []*string) *GetMembersInput { + s.AccountIds = v return s } -// SetId sets the Id field's value. -func (s *IamInstanceProfile) SetId(v string) *IamInstanceProfile { - s.Id = &v +// SetDetectorId sets the DetectorId field's value. +func (s *GetMembersInput) SetDetectorId(v string) *GetMembersInput { + s.DetectorId = &v return s } -// Contains information about the details of an instance. -type InstanceDetails struct { +type GetMembersOutput struct { _ struct{} `type:"structure"` - // The Availability Zone of the EC2 instance. - AvailabilityZone *string `locationName:"availabilityZone" type:"string"` - - // The profile information of the EC2 instance. - IamInstanceProfile *IamInstanceProfile `locationName:"iamInstanceProfile" type:"structure"` - - // The image description of the EC2 instance. - ImageDescription *string `locationName:"imageDescription" type:"string"` - - // The image ID of the EC2 instance. - ImageId *string `locationName:"imageId" type:"string"` - - // The ID of the EC2 instance. - InstanceId *string `locationName:"instanceId" type:"string"` - - // The state of the EC2 instance. - InstanceState *string `locationName:"instanceState" type:"string"` - - // The type of the EC2 instance. - InstanceType *string `locationName:"instanceType" type:"string"` - - // The launch time of the EC2 instance. - LaunchTime *string `locationName:"launchTime" type:"string"` - - // The elastic network interface information of the EC2 instance. - NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaces" type:"list"` - - // The Amazon Resource Name (ARN) of the Amazon Web Services Outpost. Only applicable - // to Amazon Web Services Outposts instances. - OutpostArn *string `locationName:"outpostArn" type:"string"` - - // The platform of the EC2 instance. - Platform *string `locationName:"platform" type:"string"` - - // The product code of the EC2 instance. - ProductCodes []*ProductCode `locationName:"productCodes" type:"list"` + // A list of members. + // + // Members is a required field + Members []*Member `locationName:"members" type:"list" required:"true"` - // The tags of the EC2 instance. - Tags []*Tag `locationName:"tags" type:"list"` + // A list of objects that contain the unprocessed account and a result string + // that explains why it was unprocessed. + // + // UnprocessedAccounts is a required field + UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"` } // String returns the string representation. @@ -12129,7 +12673,7 @@ type InstanceDetails 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 InstanceDetails) String() string { +func (s GetMembersOutput) String() string { return awsutil.Prettify(s) } @@ -12138,98 +12682,32 @@ func (s InstanceDetails) 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 InstanceDetails) GoString() string { +func (s GetMembersOutput) GoString() string { return s.String() } -// SetAvailabilityZone sets the AvailabilityZone field's value. -func (s *InstanceDetails) SetAvailabilityZone(v string) *InstanceDetails { - s.AvailabilityZone = &v +// SetMembers sets the Members field's value. +func (s *GetMembersOutput) SetMembers(v []*Member) *GetMembersOutput { + s.Members = v return s } -// SetIamInstanceProfile sets the IamInstanceProfile field's value. -func (s *InstanceDetails) SetIamInstanceProfile(v *IamInstanceProfile) *InstanceDetails { - s.IamInstanceProfile = v +// SetUnprocessedAccounts sets the UnprocessedAccounts field's value. +func (s *GetMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *GetMembersOutput { + s.UnprocessedAccounts = v return s } -// SetImageDescription sets the ImageDescription field's value. -func (s *InstanceDetails) SetImageDescription(v string) *InstanceDetails { - s.ImageDescription = &v - return s -} +type GetRemainingFreeTrialDaysInput struct { + _ struct{} `type:"structure"` -// SetImageId sets the ImageId field's value. -func (s *InstanceDetails) SetImageId(v string) *InstanceDetails { - s.ImageId = &v - return s -} + // A list of account identifiers of the GuardDuty member account. + AccountIds []*string `locationName:"accountIds" min:"1" type:"list"` -// SetInstanceId sets the InstanceId field's value. -func (s *InstanceDetails) SetInstanceId(v string) *InstanceDetails { - s.InstanceId = &v - return s -} - -// SetInstanceState sets the InstanceState field's value. -func (s *InstanceDetails) SetInstanceState(v string) *InstanceDetails { - s.InstanceState = &v - return s -} - -// SetInstanceType sets the InstanceType field's value. -func (s *InstanceDetails) SetInstanceType(v string) *InstanceDetails { - s.InstanceType = &v - return s -} - -// SetLaunchTime sets the LaunchTime field's value. -func (s *InstanceDetails) SetLaunchTime(v string) *InstanceDetails { - s.LaunchTime = &v - return s -} - -// SetNetworkInterfaces sets the NetworkInterfaces field's value. -func (s *InstanceDetails) SetNetworkInterfaces(v []*NetworkInterface) *InstanceDetails { - s.NetworkInterfaces = v - return s -} - -// SetOutpostArn sets the OutpostArn field's value. -func (s *InstanceDetails) SetOutpostArn(v string) *InstanceDetails { - s.OutpostArn = &v - return s -} - -// SetPlatform sets the Platform field's value. -func (s *InstanceDetails) SetPlatform(v string) *InstanceDetails { - s.Platform = &v - return s -} - -// SetProductCodes sets the ProductCodes field's value. -func (s *InstanceDetails) SetProductCodes(v []*ProductCode) *InstanceDetails { - s.ProductCodes = v - return s -} - -// SetTags sets the Tags field's value. -func (s *InstanceDetails) SetTags(v []*Tag) *InstanceDetails { - s.Tags = v - return s -} - -// An internal server error exception object. -type InternalServerErrorException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - - // The error message. - Message_ *string `locationName:"message" type:"string"` - - // The error type. - Type *string `locationName:"__type" type:"string"` + // The unique ID of the detector of the GuardDuty member account. + // + // DetectorId is a required field + DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -12237,7 +12715,7 @@ type InternalServerErrorException 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 InternalServerErrorException) String() string { +func (s GetRemainingFreeTrialDaysInput) String() string { return awsutil.Prettify(s) } @@ -12246,64 +12724,50 @@ func (s InternalServerErrorException) 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 InternalServerErrorException) GoString() string { +func (s GetRemainingFreeTrialDaysInput) GoString() string { return s.String() } -func newErrorInternalServerErrorException(v protocol.ResponseMetadata) error { - return &InternalServerErrorException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetRemainingFreeTrialDaysInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetRemainingFreeTrialDaysInput"} + if s.AccountIds != nil && len(s.AccountIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1)) } -} - -// Code returns the exception type name. -func (s *InternalServerErrorException) Code() string { - return "InternalServerErrorException" -} - -// Message returns the exception's message. -func (s *InternalServerErrorException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if s.DetectorId == nil { + invalidParams.Add(request.NewErrParamRequired("DetectorId")) + } + if s.DetectorId != nil && len(*s.DetectorId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1)) } - return "" -} -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InternalServerErrorException) OrigErr() error { + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *InternalServerErrorException) 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 *InternalServerErrorException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetAccountIds sets the AccountIds field's value. +func (s *GetRemainingFreeTrialDaysInput) SetAccountIds(v []*string) *GetRemainingFreeTrialDaysInput { + s.AccountIds = v + return s } -// RequestID returns the service's response RequestID for request. -func (s *InternalServerErrorException) RequestID() string { - return s.RespMetadata.RequestID +// SetDetectorId sets the DetectorId field's value. +func (s *GetRemainingFreeTrialDaysInput) SetDetectorId(v string) *GetRemainingFreeTrialDaysInput { + s.DetectorId = &v + return s } -// Contains information about the invitation to become a member account. -type Invitation struct { +type GetRemainingFreeTrialDaysOutput struct { _ struct{} `type:"structure"` - // The ID of the account that the invitation was sent from. - AccountId *string `locationName:"accountId" min:"12" type:"string"` - - // The ID of the invitation. This value is used to validate the inviter account - // to the member account. - InvitationId *string `locationName:"invitationId" type:"string"` - - // The timestamp when the invitation was sent. - InvitedAt *string `locationName:"invitedAt" type:"string"` + // The member accounts which were included in a request and were processed successfully. + Accounts []*AccountFreeTrialInfo `locationName:"accounts" type:"list"` - // The status of the relationship between the inviter and invitee accounts. - RelationshipStatus *string `locationName:"relationshipStatus" type:"string"` + // The member account that was included in a request but for which the request + // could not be processed. + UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list"` } // String returns the string representation. @@ -12311,7 +12775,7 @@ type Invitation 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 Invitation) String() string { +func (s GetRemainingFreeTrialDaysOutput) String() string { return awsutil.Prettify(s) } @@ -12320,56 +12784,34 @@ func (s Invitation) 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 Invitation) GoString() string { +func (s GetRemainingFreeTrialDaysOutput) GoString() string { return s.String() } -// SetAccountId sets the AccountId field's value. -func (s *Invitation) SetAccountId(v string) *Invitation { - s.AccountId = &v - return s -} - -// SetInvitationId sets the InvitationId field's value. -func (s *Invitation) SetInvitationId(v string) *Invitation { - s.InvitationId = &v - return s -} - -// SetInvitedAt sets the InvitedAt field's value. -func (s *Invitation) SetInvitedAt(v string) *Invitation { - s.InvitedAt = &v +// SetAccounts sets the Accounts field's value. +func (s *GetRemainingFreeTrialDaysOutput) SetAccounts(v []*AccountFreeTrialInfo) *GetRemainingFreeTrialDaysOutput { + s.Accounts = v return s } -// SetRelationshipStatus sets the RelationshipStatus field's value. -func (s *Invitation) SetRelationshipStatus(v string) *Invitation { - s.RelationshipStatus = &v +// SetUnprocessedAccounts sets the UnprocessedAccounts field's value. +func (s *GetRemainingFreeTrialDaysOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *GetRemainingFreeTrialDaysOutput { + s.UnprocessedAccounts = v return s } -type InviteMembersInput struct { - _ struct{} `type:"structure"` - - // A list of account IDs of the accounts that you want to invite to GuardDuty - // as members. - // - // AccountIds is a required field - AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"` +type GetThreatIntelSetInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // The unique ID of the detector of the GuardDuty account that you want to invite - // members with. + // The unique ID of the detector that the threatIntelSet is associated with. // // DetectorId is a required field DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` - // A Boolean value that specifies whether you want to disable email notification - // to the accounts that you are inviting to GuardDuty as members. - DisableEmailNotification *bool `locationName:"disableEmailNotification" type:"boolean"` - - // The invitation message that you want to send to the accounts that you're - // inviting to GuardDuty as members. - Message *string `locationName:"message" type:"string"` + // The unique ID of the threatIntelSet that you want to get. + // + // ThreatIntelSetId is a required field + ThreatIntelSetId *string `location:"uri" locationName:"threatIntelSetId" type:"string" required:"true"` } // String returns the string representation. @@ -12377,7 +12819,7 @@ type InviteMembersInput 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 InviteMembersInput) String() string { +func (s GetThreatIntelSetInput) String() string { return awsutil.Prettify(s) } @@ -12386,25 +12828,25 @@ func (s InviteMembersInput) 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 InviteMembersInput) GoString() string { +func (s GetThreatIntelSetInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *InviteMembersInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "InviteMembersInput"} - if s.AccountIds == nil { - invalidParams.Add(request.NewErrParamRequired("AccountIds")) - } - if s.AccountIds != nil && len(s.AccountIds) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1)) - } +func (s *GetThreatIntelSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetThreatIntelSetInput"} if s.DetectorId == nil { invalidParams.Add(request.NewErrParamRequired("DetectorId")) } if s.DetectorId != nil && len(*s.DetectorId) < 1 { invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1)) } + if s.ThreatIntelSetId == nil { + invalidParams.Add(request.NewErrParamRequired("ThreatIntelSetId")) + } + if s.ThreatIntelSetId != nil && len(*s.ThreatIntelSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ThreatIntelSetId", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -12412,38 +12854,44 @@ func (s *InviteMembersInput) Validate() error { return nil } -// SetAccountIds sets the AccountIds field's value. -func (s *InviteMembersInput) SetAccountIds(v []*string) *InviteMembersInput { - s.AccountIds = v - return s -} - // SetDetectorId sets the DetectorId field's value. -func (s *InviteMembersInput) SetDetectorId(v string) *InviteMembersInput { +func (s *GetThreatIntelSetInput) SetDetectorId(v string) *GetThreatIntelSetInput { s.DetectorId = &v return s } -// SetDisableEmailNotification sets the DisableEmailNotification field's value. -func (s *InviteMembersInput) SetDisableEmailNotification(v bool) *InviteMembersInput { - s.DisableEmailNotification = &v - return s -} - -// SetMessage sets the Message field's value. -func (s *InviteMembersInput) SetMessage(v string) *InviteMembersInput { - s.Message = &v +// SetThreatIntelSetId sets the ThreatIntelSetId field's value. +func (s *GetThreatIntelSetInput) SetThreatIntelSetId(v string) *GetThreatIntelSetInput { + s.ThreatIntelSetId = &v return s } -type InviteMembersOutput struct { +type GetThreatIntelSetOutput struct { _ struct{} `type:"structure"` - // A list of objects that contain the unprocessed account and a result string - // that explains why it was unprocessed. + // The format of the threatIntelSet. // - // UnprocessedAccounts is a required field - UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"` + // Format is a required field + Format *string `locationName:"format" min:"1" type:"string" required:"true" enum:"ThreatIntelSetFormat"` + + // The URI of the file that contains the ThreatIntelSet. + // + // Location is a required field + Location *string `locationName:"location" min:"1" type:"string" required:"true"` + + // A user-friendly ThreatIntelSet name displayed in all findings that are generated + // by activity that involves IP addresses included in this ThreatIntelSet. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The status of threatIntelSet file uploaded. + // + // Status is a required field + Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"ThreatIntelSetStatus"` + + // The tags of the threat list resource. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` } // String returns the string representation. @@ -12451,7 +12899,7 @@ type InviteMembersOutput 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 InviteMembersOutput) String() string { +func (s GetThreatIntelSetOutput) String() string { return awsutil.Prettify(s) } @@ -12460,41 +12908,71 @@ func (s InviteMembersOutput) 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 InviteMembersOutput) GoString() string { +func (s GetThreatIntelSetOutput) GoString() string { return s.String() } -// SetUnprocessedAccounts sets the UnprocessedAccounts field's value. -func (s *InviteMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *InviteMembersOutput { - s.UnprocessedAccounts = v +// SetFormat sets the Format field's value. +func (s *GetThreatIntelSetOutput) SetFormat(v string) *GetThreatIntelSetOutput { + s.Format = &v return s } -// Information about the Kubernetes API call action described in this finding. -type KubernetesApiCallAction struct { - _ struct{} `type:"structure"` +// SetLocation sets the Location field's value. +func (s *GetThreatIntelSetOutput) SetLocation(v string) *GetThreatIntelSetOutput { + s.Location = &v + return s +} - // Parameters related to the Kubernetes API call action. - Parameters *string `locationName:"parameters" type:"string"` +// SetName sets the Name field's value. +func (s *GetThreatIntelSetOutput) SetName(v string) *GetThreatIntelSetOutput { + s.Name = &v + return s +} - // Contains information about the remote IP address of the connection. - RemoteIpDetails *RemoteIpDetails `locationName:"remoteIpDetails" type:"structure"` +// SetStatus sets the Status field's value. +func (s *GetThreatIntelSetOutput) SetStatus(v string) *GetThreatIntelSetOutput { + s.Status = &v + return s +} - // The Kubernetes API request URI. - RequestUri *string `locationName:"requestUri" type:"string"` +// SetTags sets the Tags field's value. +func (s *GetThreatIntelSetOutput) SetTags(v map[string]*string) *GetThreatIntelSetOutput { + s.Tags = v + return s +} - // The IP of the Kubernetes API caller and the IPs of any proxies or load balancers - // between the caller and the API endpoint. - SourceIps []*string `locationName:"sourceIps" type:"list"` +type GetUsageStatisticsInput struct { + _ struct{} `type:"structure"` - // The resulting HTTP response code of the Kubernetes API call action. - StatusCode *int64 `locationName:"statusCode" type:"integer"` + // The ID of the detector that specifies the GuardDuty service whose usage statistics + // you want to retrieve. + // + // DetectorId is a required field + DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` - // The user agent of the caller of the Kubernetes API. - UserAgent *string `locationName:"userAgent" type:"string"` + // The maximum number of results to return in the response. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` - // The Kubernetes API request HTTP verb. - Verb *string `locationName:"verb" type:"string"` + // A token to use for paginating results that are returned in the response. + // Set the value of this parameter to null for the first request to a list action. + // For subsequent calls, use the NextToken value returned from the previous + // request to continue listing results after the first page. + NextToken *string `locationName:"nextToken" type:"string"` + + // The currency unit you would like to view your usage statistics in. Current + // valid values are USD. + Unit *string `locationName:"unit" type:"string"` + + // Represents the criteria used for querying usage. + // + // UsageCriteria is a required field + UsageCriteria *UsageCriteria `locationName:"usageCriteria" type:"structure" required:"true"` + + // The type of usage statistics to retrieve. + // + // UsageStatisticType is a required field + UsageStatisticType *string `locationName:"usageStatisticsType" type:"string" required:"true" enum:"UsageStatisticType"` } // String returns the string representation. @@ -12502,7 +12980,7 @@ type KubernetesApiCallAction 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 KubernetesApiCallAction) String() string { +func (s GetUsageStatisticsInput) String() string { return awsutil.Prettify(s) } @@ -12511,60 +12989,86 @@ func (s KubernetesApiCallAction) 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 KubernetesApiCallAction) GoString() string { +func (s GetUsageStatisticsInput) GoString() string { return s.String() } -// SetParameters sets the Parameters field's value. -func (s *KubernetesApiCallAction) SetParameters(v string) *KubernetesApiCallAction { - s.Parameters = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetUsageStatisticsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetUsageStatisticsInput"} + if s.DetectorId == nil { + invalidParams.Add(request.NewErrParamRequired("DetectorId")) + } + if s.DetectorId != nil && len(*s.DetectorId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.UsageCriteria == nil { + invalidParams.Add(request.NewErrParamRequired("UsageCriteria")) + } + if s.UsageStatisticType == nil { + invalidParams.Add(request.NewErrParamRequired("UsageStatisticType")) + } + if s.UsageCriteria != nil { + if err := s.UsageCriteria.Validate(); err != nil { + invalidParams.AddNested("UsageCriteria", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetRemoteIpDetails sets the RemoteIpDetails field's value. -func (s *KubernetesApiCallAction) SetRemoteIpDetails(v *RemoteIpDetails) *KubernetesApiCallAction { - s.RemoteIpDetails = v +// SetDetectorId sets the DetectorId field's value. +func (s *GetUsageStatisticsInput) SetDetectorId(v string) *GetUsageStatisticsInput { + s.DetectorId = &v return s } -// SetRequestUri sets the RequestUri field's value. -func (s *KubernetesApiCallAction) SetRequestUri(v string) *KubernetesApiCallAction { - s.RequestUri = &v +// SetMaxResults sets the MaxResults field's value. +func (s *GetUsageStatisticsInput) SetMaxResults(v int64) *GetUsageStatisticsInput { + s.MaxResults = &v return s } -// SetSourceIps sets the SourceIps field's value. -func (s *KubernetesApiCallAction) SetSourceIps(v []*string) *KubernetesApiCallAction { - s.SourceIps = v +// SetNextToken sets the NextToken field's value. +func (s *GetUsageStatisticsInput) SetNextToken(v string) *GetUsageStatisticsInput { + s.NextToken = &v return s } -// SetStatusCode sets the StatusCode field's value. -func (s *KubernetesApiCallAction) SetStatusCode(v int64) *KubernetesApiCallAction { - s.StatusCode = &v +// SetUnit sets the Unit field's value. +func (s *GetUsageStatisticsInput) SetUnit(v string) *GetUsageStatisticsInput { + s.Unit = &v return s } -// SetUserAgent sets the UserAgent field's value. -func (s *KubernetesApiCallAction) SetUserAgent(v string) *KubernetesApiCallAction { - s.UserAgent = &v +// SetUsageCriteria sets the UsageCriteria field's value. +func (s *GetUsageStatisticsInput) SetUsageCriteria(v *UsageCriteria) *GetUsageStatisticsInput { + s.UsageCriteria = v return s } -// SetVerb sets the Verb field's value. -func (s *KubernetesApiCallAction) SetVerb(v string) *KubernetesApiCallAction { - s.Verb = &v +// SetUsageStatisticType sets the UsageStatisticType field's value. +func (s *GetUsageStatisticsInput) SetUsageStatisticType(v string) *GetUsageStatisticsInput { + s.UsageStatisticType = &v return s } -// Describes whether Kubernetes audit logs are enabled as a data source. -type KubernetesAuditLogsConfiguration struct { +type GetUsageStatisticsOutput struct { _ struct{} `type:"structure"` - // The status of Kubernetes audit logs as a data source. - // - // Enable is a required field - Enable *bool `locationName:"enable" type:"boolean" required:"true"` + // The pagination parameter to be used on the next list operation to retrieve + // more items. + NextToken *string `locationName:"nextToken" type:"string"` + + // The usage statistics object. If a UsageStatisticType was provided, the objects + // representing other types will be null. + UsageStatistics *UsageStatistics `locationName:"usageStatistics" type:"structure"` } // String returns the string representation. @@ -12572,7 +13076,7 @@ type KubernetesAuditLogsConfiguration 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 KubernetesAuditLogsConfiguration) String() string { +func (s GetUsageStatisticsOutput) String() string { return awsutil.Prettify(s) } @@ -12581,38 +13085,36 @@ func (s KubernetesAuditLogsConfiguration) 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 KubernetesAuditLogsConfiguration) GoString() string { +func (s GetUsageStatisticsOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *KubernetesAuditLogsConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "KubernetesAuditLogsConfiguration"} - if s.Enable == nil { - invalidParams.Add(request.NewErrParamRequired("Enable")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetNextToken sets the NextToken field's value. +func (s *GetUsageStatisticsOutput) SetNextToken(v string) *GetUsageStatisticsOutput { + s.NextToken = &v + return s } -// SetEnable sets the Enable field's value. -func (s *KubernetesAuditLogsConfiguration) SetEnable(v bool) *KubernetesAuditLogsConfiguration { - s.Enable = &v +// SetUsageStatistics sets the UsageStatistics field's value. +func (s *GetUsageStatisticsOutput) SetUsageStatistics(v *UsageStatistics) *GetUsageStatisticsOutput { + s.UsageStatistics = v return s } -// Describes whether Kubernetes audit logs are enabled as a data source. -type KubernetesAuditLogsConfigurationResult struct { +// Contains details of the highest severity threat detected during scan and +// number of infected files. +type HighestSeverityThreatDetails struct { _ struct{} `type:"structure"` - // A value that describes whether Kubernetes audit logs are enabled as a data - // source. - // - // Status is a required field - Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"DataSourceStatus"` + // Total number of infected files with the highest severity threat detected. + Count *int64 `locationName:"count" type:"integer"` + + // Severity level of the highest severity threat detected. + Severity *string `locationName:"severity" type:"string"` + + // Threat name of the highest severity threat detected as part of the malware + // scan. + ThreatName *string `locationName:"threatName" type:"string"` } // String returns the string representation. @@ -12620,7 +13122,7 @@ type KubernetesAuditLogsConfigurationResult 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 KubernetesAuditLogsConfigurationResult) String() string { +func (s HighestSeverityThreatDetails) String() string { return awsutil.Prettify(s) } @@ -12629,24 +13131,35 @@ func (s KubernetesAuditLogsConfigurationResult) 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 KubernetesAuditLogsConfigurationResult) GoString() string { +func (s HighestSeverityThreatDetails) GoString() string { return s.String() } -// SetStatus sets the Status field's value. -func (s *KubernetesAuditLogsConfigurationResult) SetStatus(v string) *KubernetesAuditLogsConfigurationResult { - s.Status = &v +// SetCount sets the Count field's value. +func (s *HighestSeverityThreatDetails) SetCount(v int64) *HighestSeverityThreatDetails { + s.Count = &v return s } -// Describes whether any Kubernetes data sources are enabled. -type KubernetesConfiguration struct { +// SetSeverity sets the Severity field's value. +func (s *HighestSeverityThreatDetails) SetSeverity(v string) *HighestSeverityThreatDetails { + s.Severity = &v + return s +} + +// SetThreatName sets the ThreatName field's value. +func (s *HighestSeverityThreatDetails) SetThreatName(v string) *HighestSeverityThreatDetails { + s.ThreatName = &v + return s +} + +// Represents a pre-existing file or directory on the host machine that the +// volume maps to. +type HostPath struct { _ struct{} `type:"structure"` - // The status of Kubernetes audit logs as a data source. - // - // AuditLogs is a required field - AuditLogs *KubernetesAuditLogsConfiguration `locationName:"auditLogs" type:"structure" required:"true"` + // Path of the file or directory on the host that the volume maps to. + Path *string `locationName:"path" type:"string"` } // String returns the string representation. @@ -12654,7 +13167,7 @@ type KubernetesConfiguration 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 KubernetesConfiguration) String() string { +func (s HostPath) String() string { return awsutil.Prettify(s) } @@ -12663,50 +13176,33 @@ func (s KubernetesConfiguration) 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 KubernetesConfiguration) GoString() string { +func (s HostPath) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *KubernetesConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "KubernetesConfiguration"} - if s.AuditLogs == nil { - invalidParams.Add(request.NewErrParamRequired("AuditLogs")) - } - if s.AuditLogs != nil { - if err := s.AuditLogs.Validate(); err != nil { - invalidParams.AddNested("AuditLogs", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetAuditLogs sets the AuditLogs field's value. -func (s *KubernetesConfiguration) SetAuditLogs(v *KubernetesAuditLogsConfiguration) *KubernetesConfiguration { - s.AuditLogs = v +// SetPath sets the Path field's value. +func (s *HostPath) SetPath(v string) *HostPath { + s.Path = &v return s } -// Describes whether any Kubernetes logs will be enabled as a data source. -type KubernetesConfigurationResult struct { +// Contains information about the EC2 instance profile. +type IamInstanceProfile struct { _ struct{} `type:"structure"` - // Describes whether Kubernetes audit logs are enabled as a data source. - // - // AuditLogs is a required field - AuditLogs *KubernetesAuditLogsConfigurationResult `locationName:"auditLogs" type:"structure" required:"true"` -} + // The profile ARN of the EC2 instance. + Arn *string `locationName:"arn" type:"string"` -// String returns the string representation. + // The profile ID of the EC2 instance. + Id *string `locationName:"id" 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 KubernetesConfigurationResult) String() string { +func (s IamInstanceProfile) String() string { return awsutil.Prettify(s) } @@ -12715,103 +13211,65 @@ func (s KubernetesConfigurationResult) 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 KubernetesConfigurationResult) GoString() string { +func (s IamInstanceProfile) GoString() string { return s.String() } -// SetAuditLogs sets the AuditLogs field's value. -func (s *KubernetesConfigurationResult) SetAuditLogs(v *KubernetesAuditLogsConfigurationResult) *KubernetesConfigurationResult { - s.AuditLogs = v +// SetArn sets the Arn field's value. +func (s *IamInstanceProfile) SetArn(v string) *IamInstanceProfile { + s.Arn = &v return s } -// Provides details about the Kubernetes resources when it is enabled as a data -// source. -type KubernetesDataSourceFreeTrial struct { - _ struct{} `type:"structure"` - - // Describes whether Kubernetes audit logs are enabled as a data source. - AuditLogs *DataSourceFreeTrial `locationName:"auditLogs" type:"structure"` +// SetId sets the Id field's value. +func (s *IamInstanceProfile) SetId(v string) *IamInstanceProfile { + s.Id = &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 KubernetesDataSourceFreeTrial) String() string { - return awsutil.Prettify(s) -} +// Contains information about the details of an instance. +type InstanceDetails struct { + _ struct{} `type:"structure"` -// 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 KubernetesDataSourceFreeTrial) GoString() string { - return s.String() -} + // The Availability Zone of the EC2 instance. + AvailabilityZone *string `locationName:"availabilityZone" type:"string"` -// SetAuditLogs sets the AuditLogs field's value. -func (s *KubernetesDataSourceFreeTrial) SetAuditLogs(v *DataSourceFreeTrial) *KubernetesDataSourceFreeTrial { - s.AuditLogs = v - return s -} + // The profile information of the EC2 instance. + IamInstanceProfile *IamInstanceProfile `locationName:"iamInstanceProfile" type:"structure"` -// Details about Kubernetes resources such as a Kubernetes user or workload -// resource involved in a Kubernetes finding. -type KubernetesDetails struct { - _ struct{} `type:"structure"` + // The image description of the EC2 instance. + ImageDescription *string `locationName:"imageDescription" type:"string"` - // Details about the Kubernetes user involved in a Kubernetes finding. - KubernetesUserDetails *KubernetesUserDetails `locationName:"kubernetesUserDetails" type:"structure"` + // The image ID of the EC2 instance. + ImageId *string `locationName:"imageId" type:"string"` - // Details about the Kubernetes workload involved in a Kubernetes finding. - KubernetesWorkloadDetails *KubernetesWorkloadDetails `locationName:"kubernetesWorkloadDetails" type:"structure"` -} + // The ID of the EC2 instance. + InstanceId *string `locationName:"instanceId" 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 KubernetesDetails) String() string { - return awsutil.Prettify(s) -} + // The state of the EC2 instance. + InstanceState *string `locationName:"instanceState" type:"string"` -// 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 KubernetesDetails) GoString() string { - return s.String() -} + // The type of the EC2 instance. + InstanceType *string `locationName:"instanceType" type:"string"` -// SetKubernetesUserDetails sets the KubernetesUserDetails field's value. -func (s *KubernetesDetails) SetKubernetesUserDetails(v *KubernetesUserDetails) *KubernetesDetails { - s.KubernetesUserDetails = v - return s -} + // The launch time of the EC2 instance. + LaunchTime *string `locationName:"launchTime" type:"string"` -// SetKubernetesWorkloadDetails sets the KubernetesWorkloadDetails field's value. -func (s *KubernetesDetails) SetKubernetesWorkloadDetails(v *KubernetesWorkloadDetails) *KubernetesDetails { - s.KubernetesWorkloadDetails = v - return s -} + // The elastic network interface information of the EC2 instance. + NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaces" type:"list"` -// Details about the Kubernetes user involved in a Kubernetes finding. -type KubernetesUserDetails struct { - _ struct{} `type:"structure"` + // The Amazon Resource Name (ARN) of the Amazon Web Services Outpost. Only applicable + // to Amazon Web Services Outposts instances. + OutpostArn *string `locationName:"outpostArn" type:"string"` - // The groups that include the user who called the Kubernetes API. - Groups []*string `locationName:"groups" type:"list"` + // The platform of the EC2 instance. + Platform *string `locationName:"platform" type:"string"` - // The user ID of the user who called the Kubernetes API. - Uid *string `locationName:"uid" type:"string"` + // The product code of the EC2 instance. + ProductCodes []*ProductCode `locationName:"productCodes" type:"list"` - // The username of the user who called the Kubernetes API. - Username *string `locationName:"username" type:"string"` + // The tags of the EC2 instance. + Tags []*Tag `locationName:"tags" type:"list"` } // String returns the string representation. @@ -12819,7 +13277,7 @@ type KubernetesUserDetails 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 KubernetesUserDetails) String() string { +func (s InstanceDetails) String() string { return awsutil.Prettify(s) } @@ -12828,126 +13286,98 @@ func (s KubernetesUserDetails) 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 KubernetesUserDetails) GoString() string { +func (s InstanceDetails) GoString() string { return s.String() } -// SetGroups sets the Groups field's value. -func (s *KubernetesUserDetails) SetGroups(v []*string) *KubernetesUserDetails { - s.Groups = v +// SetAvailabilityZone sets the AvailabilityZone field's value. +func (s *InstanceDetails) SetAvailabilityZone(v string) *InstanceDetails { + s.AvailabilityZone = &v return s } -// SetUid sets the Uid field's value. -func (s *KubernetesUserDetails) SetUid(v string) *KubernetesUserDetails { - s.Uid = &v +// SetIamInstanceProfile sets the IamInstanceProfile field's value. +func (s *InstanceDetails) SetIamInstanceProfile(v *IamInstanceProfile) *InstanceDetails { + s.IamInstanceProfile = v return s } -// SetUsername sets the Username field's value. -func (s *KubernetesUserDetails) SetUsername(v string) *KubernetesUserDetails { - s.Username = &v +// SetImageDescription sets the ImageDescription field's value. +func (s *InstanceDetails) SetImageDescription(v string) *InstanceDetails { + s.ImageDescription = &v return s } -// Details about the Kubernetes workload involved in a Kubernetes finding. -type KubernetesWorkloadDetails struct { - _ struct{} `type:"structure"` - - // Containers running as part of the Kubernetes workload. - Containers []*Container `locationName:"containers" type:"list"` - - // Whether the hostNetwork flag is enabled for the pods included in the workload. - HostNetwork *bool `locationName:"hostNetwork" type:"boolean"` - - // Kubernetes workload name. - Name *string `locationName:"name" type:"string"` - - // Kubernetes namespace that the workload is part of. - Namespace *string `locationName:"namespace" type:"string"` - - // Kubernetes workload type (e.g. Pod, Deployment, etc.). - Type *string `locationName:"type" type:"string"` - - // Kubernetes workload ID. - Uid *string `locationName:"uid" type:"string"` - - // Volumes used by the Kubernetes workload. - Volumes []*Volume `locationName:"volumes" type:"list"` +// SetImageId sets the ImageId field's value. +func (s *InstanceDetails) SetImageId(v string) *InstanceDetails { + s.ImageId = &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 KubernetesWorkloadDetails) String() string { - return awsutil.Prettify(s) +// SetInstanceId sets the InstanceId field's value. +func (s *InstanceDetails) SetInstanceId(v string) *InstanceDetails { + s.InstanceId = &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 KubernetesWorkloadDetails) GoString() string { - return s.String() +// SetInstanceState sets the InstanceState field's value. +func (s *InstanceDetails) SetInstanceState(v string) *InstanceDetails { + s.InstanceState = &v + return s } -// SetContainers sets the Containers field's value. -func (s *KubernetesWorkloadDetails) SetContainers(v []*Container) *KubernetesWorkloadDetails { - s.Containers = v +// SetInstanceType sets the InstanceType field's value. +func (s *InstanceDetails) SetInstanceType(v string) *InstanceDetails { + s.InstanceType = &v return s } -// SetHostNetwork sets the HostNetwork field's value. -func (s *KubernetesWorkloadDetails) SetHostNetwork(v bool) *KubernetesWorkloadDetails { - s.HostNetwork = &v +// SetLaunchTime sets the LaunchTime field's value. +func (s *InstanceDetails) SetLaunchTime(v string) *InstanceDetails { + s.LaunchTime = &v return s } -// SetName sets the Name field's value. -func (s *KubernetesWorkloadDetails) SetName(v string) *KubernetesWorkloadDetails { - s.Name = &v +// SetNetworkInterfaces sets the NetworkInterfaces field's value. +func (s *InstanceDetails) SetNetworkInterfaces(v []*NetworkInterface) *InstanceDetails { + s.NetworkInterfaces = v return s } -// SetNamespace sets the Namespace field's value. -func (s *KubernetesWorkloadDetails) SetNamespace(v string) *KubernetesWorkloadDetails { - s.Namespace = &v +// SetOutpostArn sets the OutpostArn field's value. +func (s *InstanceDetails) SetOutpostArn(v string) *InstanceDetails { + s.OutpostArn = &v return s } -// SetType sets the Type field's value. -func (s *KubernetesWorkloadDetails) SetType(v string) *KubernetesWorkloadDetails { - s.Type = &v +// SetPlatform sets the Platform field's value. +func (s *InstanceDetails) SetPlatform(v string) *InstanceDetails { + s.Platform = &v return s } -// SetUid sets the Uid field's value. -func (s *KubernetesWorkloadDetails) SetUid(v string) *KubernetesWorkloadDetails { - s.Uid = &v +// SetProductCodes sets the ProductCodes field's value. +func (s *InstanceDetails) SetProductCodes(v []*ProductCode) *InstanceDetails { + s.ProductCodes = v return s } -// SetVolumes sets the Volumes field's value. -func (s *KubernetesWorkloadDetails) SetVolumes(v []*Volume) *KubernetesWorkloadDetails { - s.Volumes = v +// SetTags sets the Tags field's value. +func (s *InstanceDetails) SetTags(v []*Tag) *InstanceDetails { + s.Tags = v return s } -type ListDetectorsInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// An internal server error exception object. +type InternalServerErrorException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // You can use this parameter to indicate the maximum number of items that you - // want in the response. The default value is 50. The maximum value is 50. - MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + // The error message. + Message_ *string `locationName:"message" type:"string"` - // You can use this parameter when paginating results. Set the value of this - // parameter to null on your first call to the list action. For subsequent calls - // to the action, fill nextToken in the request with the value of NextToken - // from the previous response to continue listing data. - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + // The error type. + Type *string `locationName:"__type" type:"string"` } // String returns the string representation. @@ -12955,7 +13385,7 @@ type ListDetectorsInput 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 ListDetectorsInput) String() string { +func (s InternalServerErrorException) String() string { return awsutil.Prettify(s) } @@ -12964,46 +13394,64 @@ func (s ListDetectorsInput) 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 ListDetectorsInput) GoString() string { +func (s InternalServerErrorException) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListDetectorsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListDetectorsInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) +func newErrorInternalServerErrorException(v protocol.ResponseMetadata) error { + return &InternalServerErrorException{ + RespMetadata: v, } +} - if invalidParams.Len() > 0 { - return invalidParams +// Code returns the exception type name. +func (s *InternalServerErrorException) Code() string { + return "InternalServerErrorException" +} + +// Message returns the exception's message. +func (s *InternalServerErrorException) Message() string { + if s.Message_ != nil { + return *s.Message_ } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InternalServerErrorException) OrigErr() error { return nil } -// SetMaxResults sets the MaxResults field's value. -func (s *ListDetectorsInput) SetMaxResults(v int64) *ListDetectorsInput { - s.MaxResults = &v - return s +func (s *InternalServerErrorException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } -// SetNextToken sets the NextToken field's value. -func (s *ListDetectorsInput) SetNextToken(v string) *ListDetectorsInput { - s.NextToken = &v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *InternalServerErrorException) StatusCode() int { + return s.RespMetadata.StatusCode } -type ListDetectorsOutput struct { +// RequestID returns the service's response RequestID for request. +func (s *InternalServerErrorException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Contains information about the invitation to become a member account. +type Invitation struct { _ struct{} `type:"structure"` - // A list of detector IDs. - // - // DetectorIds is a required field - DetectorIds []*string `locationName:"detectorIds" type:"list" required:"true"` + // The ID of the account that the invitation was sent from. + AccountId *string `locationName:"accountId" min:"12" type:"string"` - // The pagination parameter to be used on the next list operation to retrieve - // more items. - NextToken *string `locationName:"nextToken" type:"string"` + // The ID of the invitation. This value is used to validate the inviter account + // to the member account. + InvitationId *string `locationName:"invitationId" type:"string"` + + // The timestamp when the invitation was sent. + InvitedAt *string `locationName:"invitedAt" type:"string"` + + // The status of the relationship between the inviter and invitee accounts. + RelationshipStatus *string `locationName:"relationshipStatus" type:"string"` } // String returns the string representation. @@ -13011,7 +13459,7 @@ type ListDetectorsOutput 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 ListDetectorsOutput) String() string { +func (s Invitation) String() string { return awsutil.Prettify(s) } @@ -13020,39 +13468,56 @@ func (s ListDetectorsOutput) 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 ListDetectorsOutput) GoString() string { +func (s Invitation) GoString() string { return s.String() } -// SetDetectorIds sets the DetectorIds field's value. -func (s *ListDetectorsOutput) SetDetectorIds(v []*string) *ListDetectorsOutput { - s.DetectorIds = v +// SetAccountId sets the AccountId field's value. +func (s *Invitation) SetAccountId(v string) *Invitation { + s.AccountId = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListDetectorsOutput) SetNextToken(v string) *ListDetectorsOutput { - s.NextToken = &v +// SetInvitationId sets the InvitationId field's value. +func (s *Invitation) SetInvitationId(v string) *Invitation { + s.InvitationId = &v return s } -type ListFiltersInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// SetInvitedAt sets the InvitedAt field's value. +func (s *Invitation) SetInvitedAt(v string) *Invitation { + s.InvitedAt = &v + return s +} - // The unique ID of the detector that the filter is associated with. +// SetRelationshipStatus sets the RelationshipStatus field's value. +func (s *Invitation) SetRelationshipStatus(v string) *Invitation { + s.RelationshipStatus = &v + return s +} + +type InviteMembersInput struct { + _ struct{} `type:"structure"` + + // A list of account IDs of the accounts that you want to invite to GuardDuty + // as members. + // + // AccountIds is a required field + AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"` + + // The unique ID of the detector of the GuardDuty account that you want to invite + // members with. // // DetectorId is a required field DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` - // You can use this parameter to indicate the maximum number of items that you - // want in the response. The default value is 50. The maximum value is 50. - MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + // A Boolean value that specifies whether you want to disable email notification + // to the accounts that you are inviting to GuardDuty as members. + DisableEmailNotification *bool `locationName:"disableEmailNotification" type:"boolean"` - // You can use this parameter when paginating results. Set the value of this - // parameter to null on your first call to the list action. For subsequent calls - // to the action, fill nextToken in the request with the value of NextToken - // from the previous response to continue listing data. - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + // The invitation message that you want to send to the accounts that you're + // inviting to GuardDuty as members. + Message *string `locationName:"message" type:"string"` } // String returns the string representation. @@ -13060,7 +13525,7 @@ type ListFiltersInput 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 ListFiltersInput) String() string { +func (s InviteMembersInput) String() string { return awsutil.Prettify(s) } @@ -13069,22 +13534,25 @@ func (s ListFiltersInput) 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 ListFiltersInput) GoString() string { +func (s InviteMembersInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListFiltersInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListFiltersInput"} +func (s *InviteMembersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InviteMembersInput"} + if s.AccountIds == nil { + invalidParams.Add(request.NewErrParamRequired("AccountIds")) + } + if s.AccountIds != nil && len(s.AccountIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1)) + } if s.DetectorId == nil { invalidParams.Add(request.NewErrParamRequired("DetectorId")) } if s.DetectorId != nil && len(*s.DetectorId) < 1 { invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1)) } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } if invalidParams.Len() > 0 { return invalidParams @@ -13092,35 +13560,89 @@ func (s *ListFiltersInput) Validate() error { return nil } +// SetAccountIds sets the AccountIds field's value. +func (s *InviteMembersInput) SetAccountIds(v []*string) *InviteMembersInput { + s.AccountIds = v + return s +} + // SetDetectorId sets the DetectorId field's value. -func (s *ListFiltersInput) SetDetectorId(v string) *ListFiltersInput { +func (s *InviteMembersInput) SetDetectorId(v string) *InviteMembersInput { s.DetectorId = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListFiltersInput) SetMaxResults(v int64) *ListFiltersInput { - s.MaxResults = &v +// SetDisableEmailNotification sets the DisableEmailNotification field's value. +func (s *InviteMembersInput) SetDisableEmailNotification(v bool) *InviteMembersInput { + s.DisableEmailNotification = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListFiltersInput) SetNextToken(v string) *ListFiltersInput { - s.NextToken = &v +// SetMessage sets the Message field's value. +func (s *InviteMembersInput) SetMessage(v string) *InviteMembersInput { + s.Message = &v return s } -type ListFiltersOutput struct { +type InviteMembersOutput struct { _ struct{} `type:"structure"` - // A list of filter names. + // A list of objects that contain the unprocessed account and a result string + // that explains why it was unprocessed. // - // FilterNames is a required field - FilterNames []*string `locationName:"filterNames" type:"list" required:"true"` + // UnprocessedAccounts is a required field + UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"` +} - // The pagination parameter to be used on the next list operation to retrieve - // more items. - NextToken *string `locationName:"nextToken" type:"string"` +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InviteMembersOutput) 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 InviteMembersOutput) GoString() string { + return s.String() +} + +// SetUnprocessedAccounts sets the UnprocessedAccounts field's value. +func (s *InviteMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *InviteMembersOutput { + s.UnprocessedAccounts = v + return s +} + +// Information about the Kubernetes API call action described in this finding. +type KubernetesApiCallAction struct { + _ struct{} `type:"structure"` + + // Parameters related to the Kubernetes API call action. + Parameters *string `locationName:"parameters" type:"string"` + + // Contains information about the remote IP address of the connection. + RemoteIpDetails *RemoteIpDetails `locationName:"remoteIpDetails" type:"structure"` + + // The Kubernetes API request URI. + RequestUri *string `locationName:"requestUri" type:"string"` + + // The IP of the Kubernetes API caller and the IPs of any proxies or load balancers + // between the caller and the API endpoint. + SourceIps []*string `locationName:"sourceIps" type:"list"` + + // The resulting HTTP response code of the Kubernetes API call action. + StatusCode *int64 `locationName:"statusCode" type:"integer"` + + // The user agent of the caller of the Kubernetes API. + UserAgent *string `locationName:"userAgent" type:"string"` + + // The Kubernetes API request HTTP verb. + Verb *string `locationName:"verb" type:"string"` } // String returns the string representation. @@ -13128,7 +13650,7 @@ type ListFiltersOutput 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 ListFiltersOutput) String() string { +func (s KubernetesApiCallAction) String() string { return awsutil.Prettify(s) } @@ -13137,145 +13659,1914 @@ func (s ListFiltersOutput) 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 ListFiltersOutput) GoString() string { +func (s KubernetesApiCallAction) GoString() string { return s.String() } -// SetFilterNames sets the FilterNames field's value. -func (s *ListFiltersOutput) SetFilterNames(v []*string) *ListFiltersOutput { - s.FilterNames = v +// SetParameters sets the Parameters field's value. +func (s *KubernetesApiCallAction) SetParameters(v string) *KubernetesApiCallAction { + s.Parameters = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListFiltersOutput) SetNextToken(v string) *ListFiltersOutput { - s.NextToken = &v +// SetRemoteIpDetails sets the RemoteIpDetails field's value. +func (s *KubernetesApiCallAction) SetRemoteIpDetails(v *RemoteIpDetails) *KubernetesApiCallAction { + s.RemoteIpDetails = v return s } -type ListFindingsInput struct { - _ struct{} `type:"structure"` +// SetRequestUri sets the RequestUri field's value. +func (s *KubernetesApiCallAction) SetRequestUri(v string) *KubernetesApiCallAction { + s.RequestUri = &v + return s +} - // The ID of the detector that specifies the GuardDuty service whose findings - // you want to list. - // - // DetectorId is a required field - DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` +// SetSourceIps sets the SourceIps field's value. +func (s *KubernetesApiCallAction) SetSourceIps(v []*string) *KubernetesApiCallAction { + s.SourceIps = v + return s +} - // Represents the criteria used for querying findings. Valid values include: - // - // * JSON field name - // - // * accountId - // - // * region - // - // * confidence - // - // * id - // - // * resource.accessKeyDetails.accessKeyId - // - // * resource.accessKeyDetails.principalId - // - // * resource.accessKeyDetails.userName - // - // * resource.accessKeyDetails.userType - // - // * resource.instanceDetails.iamInstanceProfile.id - // - // * resource.instanceDetails.imageId - // - // * resource.instanceDetails.instanceId - // - // * resource.instanceDetails.networkInterfaces.ipv6Addresses - // - // * resource.instanceDetails.networkInterfaces.privateIpAddresses.privateIpAddress - // - // * resource.instanceDetails.networkInterfaces.publicDnsName - // - // * resource.instanceDetails.networkInterfaces.publicIp - // - // * resource.instanceDetails.networkInterfaces.securityGroups.groupId - // - // * resource.instanceDetails.networkInterfaces.securityGroups.groupName - // - // * resource.instanceDetails.networkInterfaces.subnetId - // - // * resource.instanceDetails.networkInterfaces.vpcId - // - // * resource.instanceDetails.tags.key - // - // * resource.instanceDetails.tags.value - // - // * resource.resourceType - // - // * service.action.actionType - // - // * service.action.awsApiCallAction.api - // - // * service.action.awsApiCallAction.callerType - // - // * service.action.awsApiCallAction.remoteIpDetails.city.cityName - // - // * service.action.awsApiCallAction.remoteIpDetails.country.countryName - // - // * service.action.awsApiCallAction.remoteIpDetails.ipAddressV4 - // - // * service.action.awsApiCallAction.remoteIpDetails.organization.asn - // - // * service.action.awsApiCallAction.remoteIpDetails.organization.asnOrg - // - // * service.action.awsApiCallAction.serviceName - // - // * service.action.dnsRequestAction.domain - // - // * service.action.networkConnectionAction.blocked - // - // * service.action.networkConnectionAction.connectionDirection - // - // * service.action.networkConnectionAction.localPortDetails.port - // - // * service.action.networkConnectionAction.protocol - // - // * service.action.networkConnectionAction.remoteIpDetails.country.countryName - // - // * service.action.networkConnectionAction.remoteIpDetails.ipAddressV4 - // - // * service.action.networkConnectionAction.remoteIpDetails.organization.asn - // - // * service.action.networkConnectionAction.remoteIpDetails.organization.asnOrg - // - // * service.action.networkConnectionAction.remotePortDetails.port +// SetStatusCode sets the StatusCode field's value. +func (s *KubernetesApiCallAction) SetStatusCode(v int64) *KubernetesApiCallAction { + s.StatusCode = &v + return s +} + +// SetUserAgent sets the UserAgent field's value. +func (s *KubernetesApiCallAction) SetUserAgent(v string) *KubernetesApiCallAction { + s.UserAgent = &v + return s +} + +// SetVerb sets the Verb field's value. +func (s *KubernetesApiCallAction) SetVerb(v string) *KubernetesApiCallAction { + s.Verb = &v + return s +} + +// Describes whether Kubernetes audit logs are enabled as a data source. +type KubernetesAuditLogsConfiguration struct { + _ struct{} `type:"structure"` + + // The status of Kubernetes audit logs as a data source. // - // * service.additionalInfo.threatListName + // Enable is a required field + Enable *bool `locationName:"enable" type:"boolean" 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 KubernetesAuditLogsConfiguration) 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 KubernetesAuditLogsConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *KubernetesAuditLogsConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "KubernetesAuditLogsConfiguration"} + if s.Enable == nil { + invalidParams.Add(request.NewErrParamRequired("Enable")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnable sets the Enable field's value. +func (s *KubernetesAuditLogsConfiguration) SetEnable(v bool) *KubernetesAuditLogsConfiguration { + s.Enable = &v + return s +} + +// Describes whether Kubernetes audit logs are enabled as a data source. +type KubernetesAuditLogsConfigurationResult struct { + _ struct{} `type:"structure"` + + // A value that describes whether Kubernetes audit logs are enabled as a data + // source. // - // * service.archived When this attribute is set to 'true', only archived - // findings are listed. When it's set to 'false', only unarchived findings - // are listed. When this attribute is not set, all existing findings are - // listed. + // Status is a required field + Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"DataSourceStatus"` +} + +// 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 KubernetesAuditLogsConfigurationResult) 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 KubernetesAuditLogsConfigurationResult) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *KubernetesAuditLogsConfigurationResult) SetStatus(v string) *KubernetesAuditLogsConfigurationResult { + s.Status = &v + return s +} + +// Describes whether any Kubernetes data sources are enabled. +type KubernetesConfiguration struct { + _ struct{} `type:"structure"` + + // The status of Kubernetes audit logs as a data source. // - // * service.resourceRole + // AuditLogs is a required field + AuditLogs *KubernetesAuditLogsConfiguration `locationName:"auditLogs" type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s KubernetesConfiguration) 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 KubernetesConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *KubernetesConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "KubernetesConfiguration"} + if s.AuditLogs == nil { + invalidParams.Add(request.NewErrParamRequired("AuditLogs")) + } + if s.AuditLogs != nil { + if err := s.AuditLogs.Validate(); err != nil { + invalidParams.AddNested("AuditLogs", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAuditLogs sets the AuditLogs field's value. +func (s *KubernetesConfiguration) SetAuditLogs(v *KubernetesAuditLogsConfiguration) *KubernetesConfiguration { + s.AuditLogs = v + return s +} + +// Describes whether any Kubernetes logs will be enabled as a data source. +type KubernetesConfigurationResult struct { + _ struct{} `type:"structure"` + + // Describes whether Kubernetes audit logs are enabled as a data source. // - // * severity + // AuditLogs is a required field + AuditLogs *KubernetesAuditLogsConfigurationResult `locationName:"auditLogs" type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s KubernetesConfigurationResult) 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 KubernetesConfigurationResult) GoString() string { + return s.String() +} + +// SetAuditLogs sets the AuditLogs field's value. +func (s *KubernetesConfigurationResult) SetAuditLogs(v *KubernetesAuditLogsConfigurationResult) *KubernetesConfigurationResult { + s.AuditLogs = v + return s +} + +// Provides details about the Kubernetes resources when it is enabled as a data +// source. +type KubernetesDataSourceFreeTrial struct { + _ struct{} `type:"structure"` + + // Describes whether Kubernetes audit logs are enabled as a data source. + AuditLogs *DataSourceFreeTrial `locationName:"auditLogs" 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 KubernetesDataSourceFreeTrial) 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 KubernetesDataSourceFreeTrial) GoString() string { + return s.String() +} + +// SetAuditLogs sets the AuditLogs field's value. +func (s *KubernetesDataSourceFreeTrial) SetAuditLogs(v *DataSourceFreeTrial) *KubernetesDataSourceFreeTrial { + s.AuditLogs = v + return s +} + +// Details about Kubernetes resources such as a Kubernetes user or workload +// resource involved in a Kubernetes finding. +type KubernetesDetails struct { + _ struct{} `type:"structure"` + + // Details about the Kubernetes user involved in a Kubernetes finding. + KubernetesUserDetails *KubernetesUserDetails `locationName:"kubernetesUserDetails" type:"structure"` + + // Details about the Kubernetes workload involved in a Kubernetes finding. + KubernetesWorkloadDetails *KubernetesWorkloadDetails `locationName:"kubernetesWorkloadDetails" 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 KubernetesDetails) 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 KubernetesDetails) GoString() string { + return s.String() +} + +// SetKubernetesUserDetails sets the KubernetesUserDetails field's value. +func (s *KubernetesDetails) SetKubernetesUserDetails(v *KubernetesUserDetails) *KubernetesDetails { + s.KubernetesUserDetails = v + return s +} + +// SetKubernetesWorkloadDetails sets the KubernetesWorkloadDetails field's value. +func (s *KubernetesDetails) SetKubernetesWorkloadDetails(v *KubernetesWorkloadDetails) *KubernetesDetails { + s.KubernetesWorkloadDetails = v + return s +} + +// Details about the Kubernetes user involved in a Kubernetes finding. +type KubernetesUserDetails struct { + _ struct{} `type:"structure"` + + // The groups that include the user who called the Kubernetes API. + Groups []*string `locationName:"groups" type:"list"` + + // The user ID of the user who called the Kubernetes API. + Uid *string `locationName:"uid" type:"string"` + + // The username of the user who called the Kubernetes API. + Username *string `locationName:"username" 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 KubernetesUserDetails) 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 KubernetesUserDetails) GoString() string { + return s.String() +} + +// SetGroups sets the Groups field's value. +func (s *KubernetesUserDetails) SetGroups(v []*string) *KubernetesUserDetails { + s.Groups = v + return s +} + +// SetUid sets the Uid field's value. +func (s *KubernetesUserDetails) SetUid(v string) *KubernetesUserDetails { + s.Uid = &v + return s +} + +// SetUsername sets the Username field's value. +func (s *KubernetesUserDetails) SetUsername(v string) *KubernetesUserDetails { + s.Username = &v + return s +} + +// Details about the Kubernetes workload involved in a Kubernetes finding. +type KubernetesWorkloadDetails struct { + _ struct{} `type:"structure"` + + // Containers running as part of the Kubernetes workload. + Containers []*Container `locationName:"containers" type:"list"` + + // Whether the hostNetwork flag is enabled for the pods included in the workload. + HostNetwork *bool `locationName:"hostNetwork" type:"boolean"` + + // Kubernetes workload name. + Name *string `locationName:"name" type:"string"` + + // Kubernetes namespace that the workload is part of. + Namespace *string `locationName:"namespace" type:"string"` + + // Kubernetes workload type (e.g. Pod, Deployment, etc.). + Type *string `locationName:"type" type:"string"` + + // Kubernetes workload ID. + Uid *string `locationName:"uid" type:"string"` + + // Volumes used by the Kubernetes workload. + Volumes []*Volume `locationName:"volumes" 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 KubernetesWorkloadDetails) 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 KubernetesWorkloadDetails) GoString() string { + return s.String() +} + +// SetContainers sets the Containers field's value. +func (s *KubernetesWorkloadDetails) SetContainers(v []*Container) *KubernetesWorkloadDetails { + s.Containers = v + return s +} + +// SetHostNetwork sets the HostNetwork field's value. +func (s *KubernetesWorkloadDetails) SetHostNetwork(v bool) *KubernetesWorkloadDetails { + s.HostNetwork = &v + return s +} + +// SetName sets the Name field's value. +func (s *KubernetesWorkloadDetails) SetName(v string) *KubernetesWorkloadDetails { + s.Name = &v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *KubernetesWorkloadDetails) SetNamespace(v string) *KubernetesWorkloadDetails { + s.Namespace = &v + return s +} + +// SetType sets the Type field's value. +func (s *KubernetesWorkloadDetails) SetType(v string) *KubernetesWorkloadDetails { + s.Type = &v + return s +} + +// SetUid sets the Uid field's value. +func (s *KubernetesWorkloadDetails) SetUid(v string) *KubernetesWorkloadDetails { + s.Uid = &v + return s +} + +// SetVolumes sets the Volumes field's value. +func (s *KubernetesWorkloadDetails) SetVolumes(v []*Volume) *KubernetesWorkloadDetails { + s.Volumes = v + return s +} + +type ListDetectorsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // You can use this parameter to indicate the maximum number of items that you + // want in the response. The default value is 50. The maximum value is 50. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // You can use this parameter when paginating results. Set the value of this + // parameter to null on your first call to the list action. For subsequent calls + // to the action, fill nextToken in the request with the value of NextToken + // from the previous response to continue listing data. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListDetectorsInput) 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 ListDetectorsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListDetectorsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDetectorsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListDetectorsInput) SetMaxResults(v int64) *ListDetectorsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDetectorsInput) SetNextToken(v string) *ListDetectorsInput { + s.NextToken = &v + return s +} + +type ListDetectorsOutput struct { + _ struct{} `type:"structure"` + + // A list of detector IDs. + // + // DetectorIds is a required field + DetectorIds []*string `locationName:"detectorIds" type:"list" required:"true"` + + // The pagination parameter to be used on the next list operation to retrieve + // more items. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListDetectorsOutput) 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 ListDetectorsOutput) GoString() string { + return s.String() +} + +// SetDetectorIds sets the DetectorIds field's value. +func (s *ListDetectorsOutput) SetDetectorIds(v []*string) *ListDetectorsOutput { + s.DetectorIds = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDetectorsOutput) SetNextToken(v string) *ListDetectorsOutput { + s.NextToken = &v + return s +} + +type ListFiltersInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The unique ID of the detector that the filter is associated with. + // + // DetectorId is a required field + DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` + + // You can use this parameter to indicate the maximum number of items that you + // want in the response. The default value is 50. The maximum value is 50. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // You can use this parameter when paginating results. Set the value of this + // parameter to null on your first call to the list action. For subsequent calls + // to the action, fill nextToken in the request with the value of NextToken + // from the previous response to continue listing data. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListFiltersInput) 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 ListFiltersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListFiltersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListFiltersInput"} + if s.DetectorId == nil { + invalidParams.Add(request.NewErrParamRequired("DetectorId")) + } + if s.DetectorId != nil && len(*s.DetectorId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDetectorId sets the DetectorId field's value. +func (s *ListFiltersInput) SetDetectorId(v string) *ListFiltersInput { + s.DetectorId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListFiltersInput) SetMaxResults(v int64) *ListFiltersInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListFiltersInput) SetNextToken(v string) *ListFiltersInput { + s.NextToken = &v + return s +} + +type ListFiltersOutput struct { + _ struct{} `type:"structure"` + + // A list of filter names. + // + // FilterNames is a required field + FilterNames []*string `locationName:"filterNames" type:"list" required:"true"` + + // The pagination parameter to be used on the next list operation to retrieve + // more items. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListFiltersOutput) 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 ListFiltersOutput) GoString() string { + return s.String() +} + +// SetFilterNames sets the FilterNames field's value. +func (s *ListFiltersOutput) SetFilterNames(v []*string) *ListFiltersOutput { + s.FilterNames = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListFiltersOutput) SetNextToken(v string) *ListFiltersOutput { + s.NextToken = &v + return s +} + +type ListFindingsInput struct { + _ struct{} `type:"structure"` + + // The ID of the detector that specifies the GuardDuty service whose findings + // you want to list. + // + // DetectorId is a required field + DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` + + // Represents the criteria used for querying findings. Valid values include: + // + // * JSON field name + // + // * accountId + // + // * region + // + // * confidence + // + // * id + // + // * resource.accessKeyDetails.accessKeyId + // + // * resource.accessKeyDetails.principalId + // + // * resource.accessKeyDetails.userName + // + // * resource.accessKeyDetails.userType + // + // * resource.instanceDetails.iamInstanceProfile.id + // + // * resource.instanceDetails.imageId + // + // * resource.instanceDetails.instanceId + // + // * resource.instanceDetails.networkInterfaces.ipv6Addresses + // + // * resource.instanceDetails.networkInterfaces.privateIpAddresses.privateIpAddress + // + // * resource.instanceDetails.networkInterfaces.publicDnsName + // + // * resource.instanceDetails.networkInterfaces.publicIp + // + // * resource.instanceDetails.networkInterfaces.securityGroups.groupId + // + // * resource.instanceDetails.networkInterfaces.securityGroups.groupName + // + // * resource.instanceDetails.networkInterfaces.subnetId + // + // * resource.instanceDetails.networkInterfaces.vpcId + // + // * resource.instanceDetails.tags.key + // + // * resource.instanceDetails.tags.value + // + // * resource.resourceType + // + // * service.action.actionType + // + // * service.action.awsApiCallAction.api + // + // * service.action.awsApiCallAction.callerType + // + // * service.action.awsApiCallAction.remoteIpDetails.city.cityName + // + // * service.action.awsApiCallAction.remoteIpDetails.country.countryName + // + // * service.action.awsApiCallAction.remoteIpDetails.ipAddressV4 + // + // * service.action.awsApiCallAction.remoteIpDetails.organization.asn + // + // * service.action.awsApiCallAction.remoteIpDetails.organization.asnOrg + // + // * service.action.awsApiCallAction.serviceName + // + // * service.action.dnsRequestAction.domain + // + // * service.action.networkConnectionAction.blocked + // + // * service.action.networkConnectionAction.connectionDirection + // + // * service.action.networkConnectionAction.localPortDetails.port + // + // * service.action.networkConnectionAction.protocol + // + // * service.action.networkConnectionAction.remoteIpDetails.country.countryName + // + // * service.action.networkConnectionAction.remoteIpDetails.ipAddressV4 + // + // * service.action.networkConnectionAction.remoteIpDetails.organization.asn + // + // * service.action.networkConnectionAction.remoteIpDetails.organization.asnOrg + // + // * service.action.networkConnectionAction.remotePortDetails.port + // + // * service.additionalInfo.threatListName + // + // * service.archived When this attribute is set to 'true', only archived + // findings are listed. When it's set to 'false', only unarchived findings + // are listed. When this attribute is not set, all existing findings are + // listed. + // + // * service.resourceRole + // + // * severity + // + // * type + // + // * updatedAt Type: Timestamp in Unix Epoch millisecond format: 1486685375000 + FindingCriteria *FindingCriteria `locationName:"findingCriteria" type:"structure"` + + // You can use this parameter to indicate the maximum number of items you want + // in the response. The default value is 50. The maximum value is 50. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // You can use this parameter when paginating results. Set the value of this + // parameter to null on your first call to the list action. For subsequent calls + // to the action, fill nextToken in the request with the value of NextToken + // from the previous response to continue listing data. + NextToken *string `locationName:"nextToken" type:"string"` + + // Represents the criteria used for sorting findings. + SortCriteria *SortCriteria `locationName:"sortCriteria" 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 ListFindingsInput) 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 ListFindingsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListFindingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListFindingsInput"} + if s.DetectorId == nil { + invalidParams.Add(request.NewErrParamRequired("DetectorId")) + } + if s.DetectorId != nil && len(*s.DetectorId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDetectorId sets the DetectorId field's value. +func (s *ListFindingsInput) SetDetectorId(v string) *ListFindingsInput { + s.DetectorId = &v + return s +} + +// SetFindingCriteria sets the FindingCriteria field's value. +func (s *ListFindingsInput) SetFindingCriteria(v *FindingCriteria) *ListFindingsInput { + s.FindingCriteria = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListFindingsInput) SetMaxResults(v int64) *ListFindingsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListFindingsInput) SetNextToken(v string) *ListFindingsInput { + s.NextToken = &v + return s +} + +// SetSortCriteria sets the SortCriteria field's value. +func (s *ListFindingsInput) SetSortCriteria(v *SortCriteria) *ListFindingsInput { + s.SortCriteria = v + return s +} + +type ListFindingsOutput struct { + _ struct{} `type:"structure"` + + // The IDs of the findings that you're listing. + // + // FindingIds is a required field + FindingIds []*string `locationName:"findingIds" type:"list" required:"true"` + + // The pagination parameter to be used on the next list operation to retrieve + // more items. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListFindingsOutput) 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 ListFindingsOutput) GoString() string { + return s.String() +} + +// SetFindingIds sets the FindingIds field's value. +func (s *ListFindingsOutput) SetFindingIds(v []*string) *ListFindingsOutput { + s.FindingIds = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListFindingsOutput) SetNextToken(v string) *ListFindingsOutput { + s.NextToken = &v + return s +} + +type ListIPSetsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The unique ID of the detector that the IPSet is associated with. + // + // DetectorId is a required field + DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` + + // You can use this parameter to indicate the maximum number of items you want + // in the response. The default value is 50. The maximum value is 50. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // You can use this parameter when paginating results. Set the value of this + // parameter to null on your first call to the list action. For subsequent calls + // to the action, fill nextToken in the request with the value of NextToken + // from the previous response to continue listing data. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListIPSetsInput) 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 ListIPSetsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListIPSetsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListIPSetsInput"} + if s.DetectorId == nil { + invalidParams.Add(request.NewErrParamRequired("DetectorId")) + } + if s.DetectorId != nil && len(*s.DetectorId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDetectorId sets the DetectorId field's value. +func (s *ListIPSetsInput) SetDetectorId(v string) *ListIPSetsInput { + s.DetectorId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListIPSetsInput) SetMaxResults(v int64) *ListIPSetsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListIPSetsInput) SetNextToken(v string) *ListIPSetsInput { + s.NextToken = &v + return s +} + +type ListIPSetsOutput struct { + _ struct{} `type:"structure"` + + // The IDs of the IPSet resources. + // + // IpSetIds is a required field + IpSetIds []*string `locationName:"ipSetIds" type:"list" required:"true"` + + // The pagination parameter to be used on the next list operation to retrieve + // more items. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListIPSetsOutput) 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 ListIPSetsOutput) GoString() string { + return s.String() +} + +// SetIpSetIds sets the IpSetIds field's value. +func (s *ListIPSetsOutput) SetIpSetIds(v []*string) *ListIPSetsOutput { + s.IpSetIds = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListIPSetsOutput) SetNextToken(v string) *ListIPSetsOutput { + s.NextToken = &v + return s +} + +type ListInvitationsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // You can use this parameter to indicate the maximum number of items that you + // want in the response. The default value is 50. The maximum value is 50. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // You can use this parameter when paginating results. Set the value of this + // parameter to null on your first call to the list action. For subsequent calls + // to the action, fill nextToken in the request with the value of NextToken + // from the previous response to continue listing data. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListInvitationsInput) 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 ListInvitationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListInvitationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListInvitationsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListInvitationsInput) SetMaxResults(v int64) *ListInvitationsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListInvitationsInput) SetNextToken(v string) *ListInvitationsInput { + s.NextToken = &v + return s +} + +type ListInvitationsOutput struct { + _ struct{} `type:"structure"` + + // A list of invitation descriptions. + Invitations []*Invitation `locationName:"invitations" type:"list"` + + // The pagination parameter to be used on the next list operation to retrieve + // more items. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListInvitationsOutput) 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 ListInvitationsOutput) GoString() string { + return s.String() +} + +// SetInvitations sets the Invitations field's value. +func (s *ListInvitationsOutput) SetInvitations(v []*Invitation) *ListInvitationsOutput { + s.Invitations = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListInvitationsOutput) SetNextToken(v string) *ListInvitationsOutput { + s.NextToken = &v + return s +} + +type ListMembersInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The unique ID of the detector the member is associated with. + // + // DetectorId is a required field + DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` + + // You can use this parameter to indicate the maximum number of items you want + // in the response. The default value is 50. The maximum value is 50. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // You can use this parameter when paginating results. Set the value of this + // parameter to null on your first call to the list action. For subsequent calls + // to the action, fill nextToken in the request with the value of NextToken + // from the previous response to continue listing data. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // Specifies whether to only return associated members or to return all members + // (including members who haven't been invited yet or have been disassociated). + OnlyAssociated *string `location:"querystring" locationName:"onlyAssociated" 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 ListMembersInput) 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 ListMembersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListMembersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListMembersInput"} + if s.DetectorId == nil { + invalidParams.Add(request.NewErrParamRequired("DetectorId")) + } + if s.DetectorId != nil && len(*s.DetectorId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDetectorId sets the DetectorId field's value. +func (s *ListMembersInput) SetDetectorId(v string) *ListMembersInput { + s.DetectorId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListMembersInput) SetMaxResults(v int64) *ListMembersInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListMembersInput) SetNextToken(v string) *ListMembersInput { + s.NextToken = &v + return s +} + +// SetOnlyAssociated sets the OnlyAssociated field's value. +func (s *ListMembersInput) SetOnlyAssociated(v string) *ListMembersInput { + s.OnlyAssociated = &v + return s +} + +type ListMembersOutput struct { + _ struct{} `type:"structure"` + + // A list of members. + Members []*Member `locationName:"members" type:"list"` + + // The pagination parameter to be used on the next list operation to retrieve + // more items. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListMembersOutput) 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 ListMembersOutput) GoString() string { + return s.String() +} + +// SetMembers sets the Members field's value. +func (s *ListMembersOutput) SetMembers(v []*Member) *ListMembersOutput { + s.Members = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListMembersOutput) SetNextToken(v string) *ListMembersOutput { + s.NextToken = &v + return s +} + +type ListOrganizationAdminAccountsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The maximum number of results to return in the response. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // A token to use for paginating results that are returned in the response. + // Set the value of this parameter to null for the first request to a list action. + // For subsequent calls, use the NextToken value returned from the previous + // request to continue listing results after the first page. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListOrganizationAdminAccountsInput) 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 ListOrganizationAdminAccountsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListOrganizationAdminAccountsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListOrganizationAdminAccountsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListOrganizationAdminAccountsInput) SetMaxResults(v int64) *ListOrganizationAdminAccountsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListOrganizationAdminAccountsInput) SetNextToken(v string) *ListOrganizationAdminAccountsInput { + s.NextToken = &v + return s +} + +type ListOrganizationAdminAccountsOutput struct { + _ struct{} `type:"structure"` + + // A list of accounts configured as GuardDuty delegated administrators. + AdminAccounts []*AdminAccount `locationName:"adminAccounts" type:"list"` + + // The pagination parameter to be used on the next list operation to retrieve + // more items. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListOrganizationAdminAccountsOutput) 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 ListOrganizationAdminAccountsOutput) GoString() string { + return s.String() +} + +// SetAdminAccounts sets the AdminAccounts field's value. +func (s *ListOrganizationAdminAccountsOutput) SetAdminAccounts(v []*AdminAccount) *ListOrganizationAdminAccountsOutput { + s.AdminAccounts = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListOrganizationAdminAccountsOutput) SetNextToken(v string) *ListOrganizationAdminAccountsOutput { + s.NextToken = &v + return s +} + +type ListPublishingDestinationsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the detector to retrieve publishing destinations for. + // + // DetectorId is a required field + DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` + + // The maximum number of results to return in the response. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // A token to use for paginating results that are returned in the response. + // Set the value of this parameter to null for the first request to a list action. + // For subsequent calls, use the NextToken value returned from the previous + // request to continue listing results after the first page. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListPublishingDestinationsInput) 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 ListPublishingDestinationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListPublishingDestinationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListPublishingDestinationsInput"} + if s.DetectorId == nil { + invalidParams.Add(request.NewErrParamRequired("DetectorId")) + } + if s.DetectorId != nil && len(*s.DetectorId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDetectorId sets the DetectorId field's value. +func (s *ListPublishingDestinationsInput) SetDetectorId(v string) *ListPublishingDestinationsInput { + s.DetectorId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListPublishingDestinationsInput) SetMaxResults(v int64) *ListPublishingDestinationsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPublishingDestinationsInput) SetNextToken(v string) *ListPublishingDestinationsInput { + s.NextToken = &v + return s +} + +type ListPublishingDestinationsOutput struct { + _ struct{} `type:"structure"` + + // A Destinations object that includes information about each publishing destination + // returned. + // + // Destinations is a required field + Destinations []*Destination `locationName:"destinations" type:"list" required:"true"` + + // A token to use for paginating results that are returned in the response. + // Set the value of this parameter to null for the first request to a list action. + // For subsequent calls, use the NextToken value returned from the previous + // request to continue listing results after the first page. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListPublishingDestinationsOutput) 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 ListPublishingDestinationsOutput) GoString() string { + return s.String() +} + +// SetDestinations sets the Destinations field's value. +func (s *ListPublishingDestinationsOutput) SetDestinations(v []*Destination) *ListPublishingDestinationsOutput { + s.Destinations = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPublishingDestinationsOutput) SetNextToken(v string) *ListPublishingDestinationsOutput { + s.NextToken = &v + return s +} + +type ListTagsForResourceInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The Amazon Resource Name (ARN) for the given GuardDuty resource. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // The tags associated with the resource. + 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 ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceOutput) GoString() string { + return s.String() +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { + s.Tags = v + return s +} + +type ListThreatIntelSetsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The unique ID of the detector that the threatIntelSet is associated with. + // + // DetectorId is a required field + DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` + + // You can use this parameter to indicate the maximum number of items that you + // want in the response. The default value is 50. The maximum value is 50. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // You can use this parameter to paginate results in the response. Set the value + // of this parameter to null on your first call to the list action. For subsequent + // calls to the action, fill nextToken in the request with the value of NextToken + // from the previous response to continue listing data. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListThreatIntelSetsInput) 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 ListThreatIntelSetsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListThreatIntelSetsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListThreatIntelSetsInput"} + if s.DetectorId == nil { + invalidParams.Add(request.NewErrParamRequired("DetectorId")) + } + if s.DetectorId != nil && len(*s.DetectorId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDetectorId sets the DetectorId field's value. +func (s *ListThreatIntelSetsInput) SetDetectorId(v string) *ListThreatIntelSetsInput { + s.DetectorId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListThreatIntelSetsInput) SetMaxResults(v int64) *ListThreatIntelSetsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListThreatIntelSetsInput) SetNextToken(v string) *ListThreatIntelSetsInput { + s.NextToken = &v + return s +} + +type ListThreatIntelSetsOutput struct { + _ struct{} `type:"structure"` + + // The pagination parameter to be used on the next list operation to retrieve + // more items. + NextToken *string `locationName:"nextToken" type:"string"` + + // The IDs of the ThreatIntelSet resources. + // + // ThreatIntelSetIds is a required field + ThreatIntelSetIds []*string `locationName:"threatIntelSetIds" 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 ListThreatIntelSetsOutput) 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 ListThreatIntelSetsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListThreatIntelSetsOutput) SetNextToken(v string) *ListThreatIntelSetsOutput { + s.NextToken = &v + return s +} + +// SetThreatIntelSetIds sets the ThreatIntelSetIds field's value. +func (s *ListThreatIntelSetsOutput) SetThreatIntelSetIds(v []*string) *ListThreatIntelSetsOutput { + s.ThreatIntelSetIds = v + return s +} + +// Contains information about the local IP address of the connection. +type LocalIpDetails struct { + _ struct{} `type:"structure"` + + // The IPv4 local address of the connection. + IpAddressV4 *string `locationName:"ipAddressV4" 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 LocalIpDetails) 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 LocalIpDetails) GoString() string { + return s.String() +} + +// SetIpAddressV4 sets the IpAddressV4 field's value. +func (s *LocalIpDetails) SetIpAddressV4(v string) *LocalIpDetails { + s.IpAddressV4 = &v + return s +} + +// Contains information about the port for the local connection. +type LocalPortDetails struct { + _ struct{} `type:"structure"` + + // The port number of the local connection. + Port *int64 `locationName:"port" type:"integer"` + + // The port name of the local connection. + PortName *string `locationName:"portName" 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 LocalPortDetails) 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 LocalPortDetails) GoString() string { + return s.String() +} + +// SetPort sets the Port field's value. +func (s *LocalPortDetails) SetPort(v int64) *LocalPortDetails { + s.Port = &v + return s +} + +// SetPortName sets the PortName field's value. +func (s *LocalPortDetails) SetPortName(v string) *LocalPortDetails { + s.PortName = &v + return s +} + +// Describes whether Malware Protection will be enabled as a data source. +type MalwareProtectionConfiguration struct { + _ struct{} `type:"structure"` + + // Describes the configuration of Malware Protection for EC2 instances with + // findings. + ScanEc2InstanceWithFindings *ScanEc2InstanceWithFindings `locationName:"scanEc2InstanceWithFindings" 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 MalwareProtectionConfiguration) 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 MalwareProtectionConfiguration) GoString() string { + return s.String() +} + +// SetScanEc2InstanceWithFindings sets the ScanEc2InstanceWithFindings field's value. +func (s *MalwareProtectionConfiguration) SetScanEc2InstanceWithFindings(v *ScanEc2InstanceWithFindings) *MalwareProtectionConfiguration { + s.ScanEc2InstanceWithFindings = v + return s +} + +// An object that contains information on the status of all Malware Protection +// data sources. +type MalwareProtectionConfigurationResult struct { + _ struct{} `type:"structure"` + + // Describes the configuration of Malware Protection for EC2 instances with + // findings. + ScanEc2InstanceWithFindings *ScanEc2InstanceWithFindingsResult `locationName:"scanEc2InstanceWithFindings" type:"structure"` + + // The GuardDuty Malware Protection service role. + ServiceRole *string `locationName:"serviceRole" 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 MalwareProtectionConfigurationResult) 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 MalwareProtectionConfigurationResult) GoString() string { + return s.String() +} + +// SetScanEc2InstanceWithFindings sets the ScanEc2InstanceWithFindings field's value. +func (s *MalwareProtectionConfigurationResult) SetScanEc2InstanceWithFindings(v *ScanEc2InstanceWithFindingsResult) *MalwareProtectionConfigurationResult { + s.ScanEc2InstanceWithFindings = v + return s +} + +// SetServiceRole sets the ServiceRole field's value. +func (s *MalwareProtectionConfigurationResult) SetServiceRole(v string) *MalwareProtectionConfigurationResult { + s.ServiceRole = &v + return s +} + +// Provides details about Malware Protection when it is enabled as a data source. +type MalwareProtectionDataSourceFreeTrial struct { + _ struct{} `type:"structure"` + + // Describes whether Malware Protection for EC2 instances with findings is enabled + // as a data source. + ScanEc2InstanceWithFindings *DataSourceFreeTrial `locationName:"scanEc2InstanceWithFindings" 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 MalwareProtectionDataSourceFreeTrial) 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 MalwareProtectionDataSourceFreeTrial) GoString() string { + return s.String() +} + +// SetScanEc2InstanceWithFindings sets the ScanEc2InstanceWithFindings field's value. +func (s *MalwareProtectionDataSourceFreeTrial) SetScanEc2InstanceWithFindings(v *DataSourceFreeTrial) *MalwareProtectionDataSourceFreeTrial { + s.ScanEc2InstanceWithFindings = v + return s +} + +// Contains information about the administrator account and invitation. +type Master struct { + _ struct{} `type:"structure"` + + // The ID of the account used as the administrator account. + AccountId *string `locationName:"accountId" min:"12" type:"string"` + + // The value used to validate the administrator account to the member account. + InvitationId *string `locationName:"invitationId" type:"string"` + + // The timestamp when the invitation was sent. + InvitedAt *string `locationName:"invitedAt" type:"string"` + + // The status of the relationship between the administrator and member accounts. + RelationshipStatus *string `locationName:"relationshipStatus" 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 Master) 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 Master) GoString() string { + return s.String() +} + +// SetAccountId sets the AccountId field's value. +func (s *Master) SetAccountId(v string) *Master { + s.AccountId = &v + return s +} + +// SetInvitationId sets the InvitationId field's value. +func (s *Master) SetInvitationId(v string) *Master { + s.InvitationId = &v + return s +} + +// SetInvitedAt sets the InvitedAt field's value. +func (s *Master) SetInvitedAt(v string) *Master { + s.InvitedAt = &v + return s +} + +// SetRelationshipStatus sets the RelationshipStatus field's value. +func (s *Master) SetRelationshipStatus(v string) *Master { + s.RelationshipStatus = &v + return s +} + +// Contains information about the member account. +type Member struct { + _ struct{} `type:"structure"` + + // The ID of the member account. // - // * type + // AccountId is a required field + AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"` + + // The administrator account ID. + AdministratorId *string `locationName:"administratorId" type:"string"` + + // The detector ID of the member account. + DetectorId *string `locationName:"detectorId" min:"1" type:"string"` + + // The email address of the member account. // - // * updatedAt Type: Timestamp in Unix Epoch millisecond format: 1486685375000 - FindingCriteria *FindingCriteria `locationName:"findingCriteria" type:"structure"` + // Email is a required field + Email *string `locationName:"email" min:"1" type:"string" required:"true"` - // You can use this parameter to indicate the maximum number of items you want - // in the response. The default value is 50. The maximum value is 50. - MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + // The timestamp when the invitation was sent. + InvitedAt *string `locationName:"invitedAt" type:"string"` - // You can use this parameter when paginating results. Set the value of this - // parameter to null on your first call to the list action. For subsequent calls - // to the action, fill nextToken in the request with the value of NextToken - // from the previous response to continue listing data. - NextToken *string `locationName:"nextToken" type:"string"` + // The administrator account ID. + // + // MasterId is a required field + MasterId *string `locationName:"masterId" type:"string" required:"true"` - // Represents the criteria used for sorting findings. - SortCriteria *SortCriteria `locationName:"sortCriteria" type:"structure"` + // The status of the relationship between the member and the administrator. + // + // RelationshipStatus is a required field + RelationshipStatus *string `locationName:"relationshipStatus" type:"string" required:"true"` + + // The last-updated timestamp of the member. + // + // UpdatedAt is a required field + UpdatedAt *string `locationName:"updatedAt" type:"string" required:"true"` } // String returns the string representation. @@ -13283,7 +15574,7 @@ type ListFindingsInput 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 ListFindingsInput) String() string { +func (s Member) String() string { return awsutil.Prettify(s) } @@ -13292,70 +15583,71 @@ func (s ListFindingsInput) 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 ListFindingsInput) GoString() string { +func (s Member) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListFindingsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListFindingsInput"} - if s.DetectorId == nil { - invalidParams.Add(request.NewErrParamRequired("DetectorId")) - } - if s.DetectorId != nil && len(*s.DetectorId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1)) - } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } +// SetAccountId sets the AccountId field's value. +func (s *Member) SetAccountId(v string) *Member { + s.AccountId = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetAdministratorId sets the AdministratorId field's value. +func (s *Member) SetAdministratorId(v string) *Member { + s.AdministratorId = &v + return s } // SetDetectorId sets the DetectorId field's value. -func (s *ListFindingsInput) SetDetectorId(v string) *ListFindingsInput { +func (s *Member) SetDetectorId(v string) *Member { s.DetectorId = &v return s } -// SetFindingCriteria sets the FindingCriteria field's value. -func (s *ListFindingsInput) SetFindingCriteria(v *FindingCriteria) *ListFindingsInput { - s.FindingCriteria = v +// SetEmail sets the Email field's value. +func (s *Member) SetEmail(v string) *Member { + s.Email = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListFindingsInput) SetMaxResults(v int64) *ListFindingsInput { - s.MaxResults = &v +// SetInvitedAt sets the InvitedAt field's value. +func (s *Member) SetInvitedAt(v string) *Member { + s.InvitedAt = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListFindingsInput) SetNextToken(v string) *ListFindingsInput { - s.NextToken = &v +// SetMasterId sets the MasterId field's value. +func (s *Member) SetMasterId(v string) *Member { + s.MasterId = &v return s } -// SetSortCriteria sets the SortCriteria field's value. -func (s *ListFindingsInput) SetSortCriteria(v *SortCriteria) *ListFindingsInput { - s.SortCriteria = v +// SetRelationshipStatus sets the RelationshipStatus field's value. +func (s *Member) SetRelationshipStatus(v string) *Member { + s.RelationshipStatus = &v return s } -type ListFindingsOutput struct { +// SetUpdatedAt sets the UpdatedAt field's value. +func (s *Member) SetUpdatedAt(v string) *Member { + s.UpdatedAt = &v + return s +} + +// Contains information on which data sources are enabled for a member account. +type MemberDataSourceConfiguration struct { _ struct{} `type:"structure"` - // The IDs of the findings that you're listing. + // The account ID for the member account. // - // FindingIds is a required field - FindingIds []*string `locationName:"findingIds" type:"list" required:"true"` + // AccountId is a required field + AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"` - // The pagination parameter to be used on the next list operation to retrieve - // more items. - NextToken *string `locationName:"nextToken" type:"string"` + // Contains information on the status of data sources for the account. + // + // DataSources is a required field + DataSources *DataSourceConfigurationsResult `locationName:"dataSources" type:"structure" required:"true"` } // String returns the string representation. @@ -13363,7 +15655,7 @@ type ListFindingsOutput 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 ListFindingsOutput) String() string { +func (s MemberDataSourceConfiguration) String() string { return awsutil.Prettify(s) } @@ -13372,39 +15664,47 @@ func (s ListFindingsOutput) 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 ListFindingsOutput) GoString() string { +func (s MemberDataSourceConfiguration) GoString() string { return s.String() } -// SetFindingIds sets the FindingIds field's value. -func (s *ListFindingsOutput) SetFindingIds(v []*string) *ListFindingsOutput { - s.FindingIds = v +// SetAccountId sets the AccountId field's value. +func (s *MemberDataSourceConfiguration) SetAccountId(v string) *MemberDataSourceConfiguration { + s.AccountId = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListFindingsOutput) SetNextToken(v string) *ListFindingsOutput { - s.NextToken = &v +// SetDataSources sets the DataSources field's value. +func (s *MemberDataSourceConfiguration) SetDataSources(v *DataSourceConfigurationsResult) *MemberDataSourceConfiguration { + s.DataSources = v return s } -type ListIPSetsInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// Contains information about the NETWORK_CONNECTION action described in the +// finding. +type NetworkConnectionAction struct { + _ struct{} `type:"structure"` + + // Indicates whether EC2 blocked the network connection to your instance. + Blocked *bool `locationName:"blocked" type:"boolean"` + + // The network connection direction. + ConnectionDirection *string `locationName:"connectionDirection" type:"string"` + + // The local IP information of the connection. + LocalIpDetails *LocalIpDetails `locationName:"localIpDetails" type:"structure"` + + // The local port information of the connection. + LocalPortDetails *LocalPortDetails `locationName:"localPortDetails" type:"structure"` - // The unique ID of the detector that the IPSet is associated with. - // - // DetectorId is a required field - DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` + // The network connection protocol. + Protocol *string `locationName:"protocol" type:"string"` - // You can use this parameter to indicate the maximum number of items you want - // in the response. The default value is 50. The maximum value is 50. - MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + // The remote IP information of the connection. + RemoteIpDetails *RemoteIpDetails `locationName:"remoteIpDetails" type:"structure"` - // You can use this parameter when paginating results. Set the value of this - // parameter to null on your first call to the list action. For subsequent calls - // to the action, fill nextToken in the request with the value of NextToken - // from the previous response to continue listing data. - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + // The remote port information of the connection. + RemotePortDetails *RemotePortDetails `locationName:"remotePortDetails" type:"structure"` } // String returns the string representation. @@ -13412,7 +15712,7 @@ type ListIPSetsInput 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 ListIPSetsInput) String() string { +func (s NetworkConnectionAction) String() string { return awsutil.Prettify(s) } @@ -13421,58 +15721,85 @@ func (s ListIPSetsInput) 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 ListIPSetsInput) GoString() string { +func (s NetworkConnectionAction) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListIPSetsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListIPSetsInput"} - if s.DetectorId == nil { - invalidParams.Add(request.NewErrParamRequired("DetectorId")) - } - if s.DetectorId != nil && len(*s.DetectorId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1)) - } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } +// SetBlocked sets the Blocked field's value. +func (s *NetworkConnectionAction) SetBlocked(v bool) *NetworkConnectionAction { + s.Blocked = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetConnectionDirection sets the ConnectionDirection field's value. +func (s *NetworkConnectionAction) SetConnectionDirection(v string) *NetworkConnectionAction { + s.ConnectionDirection = &v + return s } -// SetDetectorId sets the DetectorId field's value. -func (s *ListIPSetsInput) SetDetectorId(v string) *ListIPSetsInput { - s.DetectorId = &v +// SetLocalIpDetails sets the LocalIpDetails field's value. +func (s *NetworkConnectionAction) SetLocalIpDetails(v *LocalIpDetails) *NetworkConnectionAction { + s.LocalIpDetails = v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListIPSetsInput) SetMaxResults(v int64) *ListIPSetsInput { - s.MaxResults = &v +// SetLocalPortDetails sets the LocalPortDetails field's value. +func (s *NetworkConnectionAction) SetLocalPortDetails(v *LocalPortDetails) *NetworkConnectionAction { + s.LocalPortDetails = v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListIPSetsInput) SetNextToken(v string) *ListIPSetsInput { - s.NextToken = &v +// SetProtocol sets the Protocol field's value. +func (s *NetworkConnectionAction) SetProtocol(v string) *NetworkConnectionAction { + s.Protocol = &v return s } -type ListIPSetsOutput struct { +// SetRemoteIpDetails sets the RemoteIpDetails field's value. +func (s *NetworkConnectionAction) SetRemoteIpDetails(v *RemoteIpDetails) *NetworkConnectionAction { + s.RemoteIpDetails = v + return s +} + +// SetRemotePortDetails sets the RemotePortDetails field's value. +func (s *NetworkConnectionAction) SetRemotePortDetails(v *RemotePortDetails) *NetworkConnectionAction { + s.RemotePortDetails = v + return s +} + +// Contains information about the elastic network interface of the EC2 instance. +type NetworkInterface struct { _ struct{} `type:"structure"` - // The IDs of the IPSet resources. - // - // IpSetIds is a required field - IpSetIds []*string `locationName:"ipSetIds" type:"list" required:"true"` + // A list of IPv6 addresses for the EC2 instance. + Ipv6Addresses []*string `locationName:"ipv6Addresses" type:"list"` - // The pagination parameter to be used on the next list operation to retrieve - // more items. - NextToken *string `locationName:"nextToken" type:"string"` + // The ID of the network interface. + NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"` + + // The private DNS name of the EC2 instance. + PrivateDnsName *string `locationName:"privateDnsName" type:"string"` + + // The private IP address of the EC2 instance. + PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"` + + // Other private IP address information of the EC2 instance. + PrivateIpAddresses []*PrivateIpAddressDetails `locationName:"privateIpAddresses" type:"list"` + + // The public DNS name of the EC2 instance. + PublicDnsName *string `locationName:"publicDnsName" type:"string"` + + // The public IP address of the EC2 instance. + PublicIp *string `locationName:"publicIp" type:"string"` + + // The security groups associated with the EC2 instance. + SecurityGroups []*SecurityGroup `locationName:"securityGroups" type:"list"` + + // The subnet ID of the EC2 instance. + SubnetId *string `locationName:"subnetId" type:"string"` + + // The VPC ID of the EC2 instance. + VpcId *string `locationName:"vpcId" type:"string"` } // String returns the string representation. @@ -13480,7 +15807,7 @@ type ListIPSetsOutput 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 ListIPSetsOutput) String() string { +func (s NetworkInterface) String() string { return awsutil.Prettify(s) } @@ -13489,88 +15816,86 @@ func (s ListIPSetsOutput) 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 ListIPSetsOutput) GoString() string { +func (s NetworkInterface) GoString() string { return s.String() } -// SetIpSetIds sets the IpSetIds field's value. -func (s *ListIPSetsOutput) SetIpSetIds(v []*string) *ListIPSetsOutput { - s.IpSetIds = v +// SetIpv6Addresses sets the Ipv6Addresses field's value. +func (s *NetworkInterface) SetIpv6Addresses(v []*string) *NetworkInterface { + s.Ipv6Addresses = v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListIPSetsOutput) SetNextToken(v string) *ListIPSetsOutput { - s.NextToken = &v +// SetNetworkInterfaceId sets the NetworkInterfaceId field's value. +func (s *NetworkInterface) SetNetworkInterfaceId(v string) *NetworkInterface { + s.NetworkInterfaceId = &v return s } -type ListInvitationsInput struct { - _ struct{} `type:"structure" nopayload:"true"` - - // You can use this parameter to indicate the maximum number of items that you - // want in the response. The default value is 50. The maximum value is 50. - MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` +// SetPrivateDnsName sets the PrivateDnsName field's value. +func (s *NetworkInterface) SetPrivateDnsName(v string) *NetworkInterface { + s.PrivateDnsName = &v + return s +} - // You can use this parameter when paginating results. Set the value of this - // parameter to null on your first call to the list action. For subsequent calls - // to the action, fill nextToken in the request with the value of NextToken - // from the previous response to continue listing data. - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +// SetPrivateIpAddress sets the PrivateIpAddress field's value. +func (s *NetworkInterface) SetPrivateIpAddress(v string) *NetworkInterface { + s.PrivateIpAddress = &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 ListInvitationsInput) String() string { - return awsutil.Prettify(s) +// SetPrivateIpAddresses sets the PrivateIpAddresses field's value. +func (s *NetworkInterface) SetPrivateIpAddresses(v []*PrivateIpAddressDetails) *NetworkInterface { + s.PrivateIpAddresses = 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 ListInvitationsInput) GoString() string { - return s.String() +// SetPublicDnsName sets the PublicDnsName field's value. +func (s *NetworkInterface) SetPublicDnsName(v string) *NetworkInterface { + s.PublicDnsName = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListInvitationsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListInvitationsInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } +// SetPublicIp sets the PublicIp field's value. +func (s *NetworkInterface) SetPublicIp(v string) *NetworkInterface { + s.PublicIp = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetSecurityGroups sets the SecurityGroups field's value. +func (s *NetworkInterface) SetSecurityGroups(v []*SecurityGroup) *NetworkInterface { + s.SecurityGroups = v + return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListInvitationsInput) SetMaxResults(v int64) *ListInvitationsInput { - s.MaxResults = &v +// SetSubnetId sets the SubnetId field's value. +func (s *NetworkInterface) SetSubnetId(v string) *NetworkInterface { + s.SubnetId = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListInvitationsInput) SetNextToken(v string) *ListInvitationsInput { - s.NextToken = &v +// SetVpcId sets the VpcId field's value. +func (s *NetworkInterface) SetVpcId(v string) *NetworkInterface { + s.VpcId = &v return s } -type ListInvitationsOutput struct { +// Contains information about the ISP organization of the remote IP address. +type Organization struct { _ struct{} `type:"structure"` - // A list of invitation descriptions. - Invitations []*Invitation `locationName:"invitations" type:"list"` + // The Autonomous System Number (ASN) of the internet provider of the remote + // IP address. + Asn *string `locationName:"asn" type:"string"` - // The pagination parameter to be used on the next list operation to retrieve - // more items. - NextToken *string `locationName:"nextToken" type:"string"` + // The organization that registered this ASN. + AsnOrg *string `locationName:"asnOrg" type:"string"` + + // The ISP information for the internet provider. + Isp *string `locationName:"isp" type:"string"` + + // The name of the internet provider. + Org *string `locationName:"org" type:"string"` } // String returns the string representation. @@ -13578,7 +15903,7 @@ type ListInvitationsOutput 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 ListInvitationsOutput) String() string { +func (s Organization) String() string { return awsutil.Prettify(s) } @@ -13587,43 +15912,49 @@ func (s ListInvitationsOutput) 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 ListInvitationsOutput) GoString() string { +func (s Organization) GoString() string { return s.String() } -// SetInvitations sets the Invitations field's value. -func (s *ListInvitationsOutput) SetInvitations(v []*Invitation) *ListInvitationsOutput { - s.Invitations = v +// SetAsn sets the Asn field's value. +func (s *Organization) SetAsn(v string) *Organization { + s.Asn = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListInvitationsOutput) SetNextToken(v string) *ListInvitationsOutput { - s.NextToken = &v +// SetAsnOrg sets the AsnOrg field's value. +func (s *Organization) SetAsnOrg(v string) *Organization { + s.AsnOrg = &v return s } -type ListMembersInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// SetIsp sets the Isp field's value. +func (s *Organization) SetIsp(v string) *Organization { + s.Isp = &v + return s +} + +// SetOrg sets the Org field's value. +func (s *Organization) SetOrg(v string) *Organization { + s.Org = &v + return s +} - // The unique ID of the detector the member is associated with. - // - // DetectorId is a required field - DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` +// An object that contains information on which data sources will be configured +// to be automatically enabled for new members within the organization. +type OrganizationDataSourceConfigurations struct { + _ struct{} `type:"structure"` - // You can use this parameter to indicate the maximum number of items you want - // in the response. The default value is 50. The maximum value is 50. - MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + // Describes the configuration of Kubernetes data sources for new members of + // the organization. + Kubernetes *OrganizationKubernetesConfiguration `locationName:"kubernetes" type:"structure"` - // You can use this parameter when paginating results. Set the value of this - // parameter to null on your first call to the list action. For subsequent calls - // to the action, fill nextToken in the request with the value of NextToken - // from the previous response to continue listing data. - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + // Describes the configuration of Malware Protection for new members of the + // organization. + MalwareProtection *OrganizationMalwareProtectionConfiguration `locationName:"malwareProtection" type:"structure"` - // Specifies whether to only return associated members or to return all members - // (including members who haven't been invited yet or have been disassociated). - OnlyAssociated *string `location:"querystring" locationName:"onlyAssociated" type:"string"` + // Describes whether S3 data event logs are enabled for new members of the organization. + S3Logs *OrganizationS3LogsConfiguration `locationName:"s3Logs" type:"structure"` } // String returns the string representation. @@ -13631,7 +15962,7 @@ type ListMembersInput 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 ListMembersInput) String() string { +func (s OrganizationDataSourceConfigurations) String() string { return awsutil.Prettify(s) } @@ -13640,21 +15971,22 @@ func (s ListMembersInput) 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 ListMembersInput) GoString() string { +func (s OrganizationDataSourceConfigurations) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListMembersInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListMembersInput"} - if s.DetectorId == nil { - invalidParams.Add(request.NewErrParamRequired("DetectorId")) - } - if s.DetectorId != nil && len(*s.DetectorId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1)) +func (s *OrganizationDataSourceConfigurations) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OrganizationDataSourceConfigurations"} + if s.Kubernetes != nil { + if err := s.Kubernetes.Validate(); err != nil { + invalidParams.AddNested("Kubernetes", err.(request.ErrInvalidParams)) + } } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + if s.S3Logs != nil { + if err := s.S3Logs.Validate(); err != nil { + invalidParams.AddNested("S3Logs", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -13663,39 +15995,39 @@ func (s *ListMembersInput) Validate() error { return nil } -// SetDetectorId sets the DetectorId field's value. -func (s *ListMembersInput) SetDetectorId(v string) *ListMembersInput { - s.DetectorId = &v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *ListMembersInput) SetMaxResults(v int64) *ListMembersInput { - s.MaxResults = &v +// SetKubernetes sets the Kubernetes field's value. +func (s *OrganizationDataSourceConfigurations) SetKubernetes(v *OrganizationKubernetesConfiguration) *OrganizationDataSourceConfigurations { + s.Kubernetes = v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListMembersInput) SetNextToken(v string) *ListMembersInput { - s.NextToken = &v +// SetMalwareProtection sets the MalwareProtection field's value. +func (s *OrganizationDataSourceConfigurations) SetMalwareProtection(v *OrganizationMalwareProtectionConfiguration) *OrganizationDataSourceConfigurations { + s.MalwareProtection = v return s } -// SetOnlyAssociated sets the OnlyAssociated field's value. -func (s *ListMembersInput) SetOnlyAssociated(v string) *ListMembersInput { - s.OnlyAssociated = &v +// SetS3Logs sets the S3Logs field's value. +func (s *OrganizationDataSourceConfigurations) SetS3Logs(v *OrganizationS3LogsConfiguration) *OrganizationDataSourceConfigurations { + s.S3Logs = v return s } -type ListMembersOutput struct { +// An object that contains information on which data sources are automatically +// enabled for new members within the organization. +type OrganizationDataSourceConfigurationsResult struct { _ struct{} `type:"structure"` - // A list of members. - Members []*Member `locationName:"members" type:"list"` + // Describes the configuration of Kubernetes data sources. + Kubernetes *OrganizationKubernetesConfigurationResult `locationName:"kubernetes" type:"structure"` - // The pagination parameter to be used on the next list operation to retrieve - // more items. - NextToken *string `locationName:"nextToken" type:"string"` + // Describes the configuration of Malware Protection data source for an organization. + MalwareProtection *OrganizationMalwareProtectionConfigurationResult `locationName:"malwareProtection" type:"structure"` + + // Describes whether S3 data event logs are enabled as a data source. + // + // S3Logs is a required field + S3Logs *OrganizationS3LogsConfigurationResult `locationName:"s3Logs" type:"structure" required:"true"` } // String returns the string representation. @@ -13703,7 +16035,7 @@ type ListMembersOutput 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 ListMembersOutput) String() string { +func (s OrganizationDataSourceConfigurationsResult) String() string { return awsutil.Prettify(s) } @@ -13712,33 +16044,35 @@ func (s ListMembersOutput) 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 ListMembersOutput) GoString() string { +func (s OrganizationDataSourceConfigurationsResult) GoString() string { return s.String() } -// SetMembers sets the Members field's value. -func (s *ListMembersOutput) SetMembers(v []*Member) *ListMembersOutput { - s.Members = v +// SetKubernetes sets the Kubernetes field's value. +func (s *OrganizationDataSourceConfigurationsResult) SetKubernetes(v *OrganizationKubernetesConfigurationResult) *OrganizationDataSourceConfigurationsResult { + s.Kubernetes = v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListMembersOutput) SetNextToken(v string) *ListMembersOutput { - s.NextToken = &v +// SetMalwareProtection sets the MalwareProtection field's value. +func (s *OrganizationDataSourceConfigurationsResult) SetMalwareProtection(v *OrganizationMalwareProtectionConfigurationResult) *OrganizationDataSourceConfigurationsResult { + s.MalwareProtection = v return s } -type ListOrganizationAdminAccountsInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// SetS3Logs sets the S3Logs field's value. +func (s *OrganizationDataSourceConfigurationsResult) SetS3Logs(v *OrganizationS3LogsConfigurationResult) *OrganizationDataSourceConfigurationsResult { + s.S3Logs = v + return s +} - // The maximum number of results to return in the response. - MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` +// Organization-wide EBS volumes scan configuration. +type OrganizationEbsVolumes struct { + _ struct{} `type:"structure"` - // A token to use for paginating results that are returned in the response. - // Set the value of this parameter to null for the first request to a list action. - // For subsequent calls, use the NextToken value returned from the previous - // request to continue listing results after the first page. - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + // Whether scanning EBS volumes should be auto-enabled for new members joining + // the organization. + AutoEnable *bool `locationName:"autoEnable" type:"boolean"` } // String returns the string representation. @@ -13746,7 +16080,7 @@ type ListOrganizationAdminAccountsInput 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 ListOrganizationAdminAccountsInput) String() string { +func (s OrganizationEbsVolumes) String() string { return awsutil.Prettify(s) } @@ -13755,44 +16089,24 @@ func (s ListOrganizationAdminAccountsInput) 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 ListOrganizationAdminAccountsInput) GoString() string { +func (s OrganizationEbsVolumes) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListOrganizationAdminAccountsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListOrganizationAdminAccountsInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetMaxResults sets the MaxResults field's value. -func (s *ListOrganizationAdminAccountsInput) SetMaxResults(v int64) *ListOrganizationAdminAccountsInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListOrganizationAdminAccountsInput) SetNextToken(v string) *ListOrganizationAdminAccountsInput { - s.NextToken = &v +// SetAutoEnable sets the AutoEnable field's value. +func (s *OrganizationEbsVolumes) SetAutoEnable(v bool) *OrganizationEbsVolumes { + s.AutoEnable = &v return s } -type ListOrganizationAdminAccountsOutput struct { +// An object that contains information on the status of whether EBS volumes +// scanning will be enabled as a data source for an organization. +type OrganizationEbsVolumesResult struct { _ struct{} `type:"structure"` - // A list of accounts configured as GuardDuty delegated administrators. - AdminAccounts []*AdminAccount `locationName:"adminAccounts" type:"list"` - - // The pagination parameter to be used on the next list operation to retrieve - // more items. - NextToken *string `locationName:"nextToken" type:"string"` + // An object that contains the status of whether scanning EBS volumes should + // be auto-enabled for new members joining the organization. + AutoEnable *bool `locationName:"autoEnable" type:"boolean"` } // String returns the string representation. @@ -13800,7 +16114,7 @@ type ListOrganizationAdminAccountsOutput 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 ListOrganizationAdminAccountsOutput) String() string { +func (s OrganizationEbsVolumesResult) String() string { return awsutil.Prettify(s) } @@ -13809,38 +16123,25 @@ func (s ListOrganizationAdminAccountsOutput) 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 ListOrganizationAdminAccountsOutput) GoString() string { +func (s OrganizationEbsVolumesResult) GoString() string { return s.String() } -// SetAdminAccounts sets the AdminAccounts field's value. -func (s *ListOrganizationAdminAccountsOutput) SetAdminAccounts(v []*AdminAccount) *ListOrganizationAdminAccountsOutput { - s.AdminAccounts = v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListOrganizationAdminAccountsOutput) SetNextToken(v string) *ListOrganizationAdminAccountsOutput { - s.NextToken = &v +// SetAutoEnable sets the AutoEnable field's value. +func (s *OrganizationEbsVolumesResult) SetAutoEnable(v bool) *OrganizationEbsVolumesResult { + s.AutoEnable = &v return s } -type ListPublishingDestinationsInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// Organization-wide Kubernetes audit logs configuration. +type OrganizationKubernetesAuditLogsConfiguration struct { + _ struct{} `type:"structure"` - // The ID of the detector to retrieve publishing destinations for. + // A value that contains information on whether Kubernetes audit logs should + // be enabled automatically as a data source for the organization. // - // DetectorId is a required field - DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` - - // The maximum number of results to return in the response. - MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - - // A token to use for paginating results that are returned in the response. - // Set the value of this parameter to null for the first request to a list action. - // For subsequent calls, use the NextToken value returned from the previous - // request to continue listing results after the first page. - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + // AutoEnable is a required field + AutoEnable *bool `locationName:"autoEnable" type:"boolean" required:"true"` } // String returns the string representation. @@ -13848,7 +16149,7 @@ type ListPublishingDestinationsInput 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 ListPublishingDestinationsInput) String() string { +func (s OrganizationKubernetesAuditLogsConfiguration) String() string { return awsutil.Prettify(s) } @@ -13857,21 +16158,15 @@ func (s ListPublishingDestinationsInput) 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 ListPublishingDestinationsInput) GoString() string { +func (s OrganizationKubernetesAuditLogsConfiguration) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListPublishingDestinationsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListPublishingDestinationsInput"} - if s.DetectorId == nil { - invalidParams.Add(request.NewErrParamRequired("DetectorId")) - } - if s.DetectorId != nil && len(*s.DetectorId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1)) - } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) +func (s *OrganizationKubernetesAuditLogsConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OrganizationKubernetesAuditLogsConfiguration"} + if s.AutoEnable == nil { + invalidParams.Add(request.NewErrParamRequired("AutoEnable")) } if invalidParams.Len() > 0 { @@ -13880,38 +16175,22 @@ func (s *ListPublishingDestinationsInput) Validate() error { return nil } -// SetDetectorId sets the DetectorId field's value. -func (s *ListPublishingDestinationsInput) SetDetectorId(v string) *ListPublishingDestinationsInput { - s.DetectorId = &v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *ListPublishingDestinationsInput) SetMaxResults(v int64) *ListPublishingDestinationsInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListPublishingDestinationsInput) SetNextToken(v string) *ListPublishingDestinationsInput { - s.NextToken = &v +// SetAutoEnable sets the AutoEnable field's value. +func (s *OrganizationKubernetesAuditLogsConfiguration) SetAutoEnable(v bool) *OrganizationKubernetesAuditLogsConfiguration { + s.AutoEnable = &v return s } -type ListPublishingDestinationsOutput struct { +// The current configuration of Kubernetes audit logs as a data source for the +// organization. +type OrganizationKubernetesAuditLogsConfigurationResult struct { _ struct{} `type:"structure"` - // A Destinations object that includes information about each publishing destination - // returned. + // Whether Kubernetes audit logs data source should be auto-enabled for new + // members joining the organization. // - // Destinations is a required field - Destinations []*Destination `locationName:"destinations" type:"list" required:"true"` - - // A token to use for paginating results that are returned in the response. - // Set the value of this parameter to null for the first request to a list action. - // For subsequent calls, use the NextToken value returned from the previous - // request to continue listing results after the first page. - NextToken *string `locationName:"nextToken" type:"string"` + // AutoEnable is a required field + AutoEnable *bool `locationName:"autoEnable" type:"boolean" required:"true"` } // String returns the string representation. @@ -13919,7 +16198,7 @@ type ListPublishingDestinationsOutput 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 ListPublishingDestinationsOutput) String() string { +func (s OrganizationKubernetesAuditLogsConfigurationResult) String() string { return awsutil.Prettify(s) } @@ -13928,29 +16207,25 @@ func (s ListPublishingDestinationsOutput) 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 ListPublishingDestinationsOutput) GoString() string { +func (s OrganizationKubernetesAuditLogsConfigurationResult) GoString() string { return s.String() } -// SetDestinations sets the Destinations field's value. -func (s *ListPublishingDestinationsOutput) SetDestinations(v []*Destination) *ListPublishingDestinationsOutput { - s.Destinations = v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListPublishingDestinationsOutput) SetNextToken(v string) *ListPublishingDestinationsOutput { - s.NextToken = &v +// SetAutoEnable sets the AutoEnable field's value. +func (s *OrganizationKubernetesAuditLogsConfigurationResult) SetAutoEnable(v bool) *OrganizationKubernetesAuditLogsConfigurationResult { + s.AutoEnable = &v return s } -type ListTagsForResourceInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// Organization-wide Kubernetes data sources configurations. +type OrganizationKubernetesConfiguration struct { + _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) for the given GuardDuty resource. + // Whether Kubernetes audit logs data source should be auto-enabled for new + // members joining the organization. // - // ResourceArn is a required field - ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` + // AuditLogs is a required field + AuditLogs *OrganizationKubernetesAuditLogsConfiguration `locationName:"auditLogs" type:"structure" required:"true"` } // String returns the string representation. @@ -13958,7 +16233,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 OrganizationKubernetesConfiguration) String() string { return awsutil.Prettify(s) } @@ -13967,18 +16242,20 @@ 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 OrganizationKubernetesConfiguration) 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 *OrganizationKubernetesConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OrganizationKubernetesConfiguration"} + if s.AuditLogs == nil { + invalidParams.Add(request.NewErrParamRequired("AuditLogs")) } - if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + if s.AuditLogs != nil { + if err := s.AuditLogs.Validate(); err != nil { + invalidParams.AddNested("AuditLogs", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -13987,17 +16264,21 @@ func (s *ListTagsForResourceInput) Validate() error { return nil } -// SetResourceArn sets the ResourceArn field's value. -func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { - s.ResourceArn = &v +// SetAuditLogs sets the AuditLogs field's value. +func (s *OrganizationKubernetesConfiguration) SetAuditLogs(v *OrganizationKubernetesAuditLogsConfiguration) *OrganizationKubernetesConfiguration { + s.AuditLogs = v return s } -type ListTagsForResourceOutput struct { +// The current configuration of all Kubernetes data sources for the organization. +type OrganizationKubernetesConfigurationResult struct { _ struct{} `type:"structure"` - // The tags associated with the resource. - Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + // The current configuration of Kubernetes audit logs as a data source for the + // organization. + // + // AuditLogs is a required field + AuditLogs *OrganizationKubernetesAuditLogsConfigurationResult `locationName:"auditLogs" type:"structure" required:"true"` } // String returns the string representation. @@ -14005,7 +16286,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 OrganizationKubernetesConfigurationResult) String() string { return awsutil.Prettify(s) } @@ -14014,33 +16295,23 @@ 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 OrganizationKubernetesConfigurationResult) GoString() string { return s.String() } -// SetTags sets the Tags field's value. -func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { - s.Tags = v +// SetAuditLogs sets the AuditLogs field's value. +func (s *OrganizationKubernetesConfigurationResult) SetAuditLogs(v *OrganizationKubernetesAuditLogsConfigurationResult) *OrganizationKubernetesConfigurationResult { + s.AuditLogs = v return s } -type ListThreatIntelSetsInput struct { - _ struct{} `type:"structure" nopayload:"true"` - - // The unique ID of the detector that the threatIntelSet is associated with. - // - // DetectorId is a required field - DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` - - // You can use this parameter to indicate the maximum number of items that you - // want in the response. The default value is 50. The maximum value is 50. - MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` +// Organization-wide Malware Protection configurations. +type OrganizationMalwareProtectionConfiguration struct { + _ struct{} `type:"structure"` - // You can use this parameter to paginate results in the response. Set the value - // of this parameter to null on your first call to the list action. For subsequent - // calls to the action, fill nextToken in the request with the value of NextToken - // from the previous response to continue listing data. - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + // Whether Malware Protection for EC2 instances with findings should be auto-enabled + // for new members joining the organization. + ScanEc2InstanceWithFindings *OrganizationScanEc2InstanceWithFindings `locationName:"scanEc2InstanceWithFindings" type:"structure"` } // String returns the string representation. @@ -14048,7 +16319,7 @@ type ListThreatIntelSetsInput 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 ListThreatIntelSetsInput) String() string { +func (s OrganizationMalwareProtectionConfiguration) String() string { return awsutil.Prettify(s) } @@ -14057,58 +16328,24 @@ func (s ListThreatIntelSetsInput) 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 ListThreatIntelSetsInput) GoString() string { +func (s OrganizationMalwareProtectionConfiguration) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListThreatIntelSetsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListThreatIntelSetsInput"} - if s.DetectorId == nil { - invalidParams.Add(request.NewErrParamRequired("DetectorId")) - } - if s.DetectorId != nil && len(*s.DetectorId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1)) - } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetDetectorId sets the DetectorId field's value. -func (s *ListThreatIntelSetsInput) SetDetectorId(v string) *ListThreatIntelSetsInput { - s.DetectorId = &v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *ListThreatIntelSetsInput) SetMaxResults(v int64) *ListThreatIntelSetsInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListThreatIntelSetsInput) SetNextToken(v string) *ListThreatIntelSetsInput { - s.NextToken = &v +// SetScanEc2InstanceWithFindings sets the ScanEc2InstanceWithFindings field's value. +func (s *OrganizationMalwareProtectionConfiguration) SetScanEc2InstanceWithFindings(v *OrganizationScanEc2InstanceWithFindings) *OrganizationMalwareProtectionConfiguration { + s.ScanEc2InstanceWithFindings = v return s } -type ListThreatIntelSetsOutput struct { +// An object that contains information on the status of all Malware Protection +// data source for an organization. +type OrganizationMalwareProtectionConfigurationResult struct { _ struct{} `type:"structure"` - // The pagination parameter to be used on the next list operation to retrieve - // more items. - NextToken *string `locationName:"nextToken" type:"string"` - - // The IDs of the ThreatIntelSet resources. - // - // ThreatIntelSetIds is a required field - ThreatIntelSetIds []*string `locationName:"threatIntelSetIds" type:"list" required:"true"` + // Describes the configuration for scanning EC2 instances with findings for + // an organization. + ScanEc2InstanceWithFindings *OrganizationScanEc2InstanceWithFindingsResult `locationName:"scanEc2InstanceWithFindings" type:"structure"` } // String returns the string representation. @@ -14116,7 +16353,7 @@ type ListThreatIntelSetsOutput 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 ListThreatIntelSetsOutput) String() string { +func (s OrganizationMalwareProtectionConfigurationResult) String() string { return awsutil.Prettify(s) } @@ -14125,28 +16362,26 @@ func (s ListThreatIntelSetsOutput) 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 ListThreatIntelSetsOutput) GoString() string { +func (s OrganizationMalwareProtectionConfigurationResult) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListThreatIntelSetsOutput) SetNextToken(v string) *ListThreatIntelSetsOutput { - s.NextToken = &v - return s -} - -// SetThreatIntelSetIds sets the ThreatIntelSetIds field's value. -func (s *ListThreatIntelSetsOutput) SetThreatIntelSetIds(v []*string) *ListThreatIntelSetsOutput { - s.ThreatIntelSetIds = v +// SetScanEc2InstanceWithFindings sets the ScanEc2InstanceWithFindings field's value. +func (s *OrganizationMalwareProtectionConfigurationResult) SetScanEc2InstanceWithFindings(v *OrganizationScanEc2InstanceWithFindingsResult) *OrganizationMalwareProtectionConfigurationResult { + s.ScanEc2InstanceWithFindings = v return s } -// Contains information about the local IP address of the connection. -type LocalIpDetails struct { +// Describes whether S3 data event logs will be automatically enabled for new +// members of the organization. +type OrganizationS3LogsConfiguration struct { _ struct{} `type:"structure"` - // The IPv4 local address of the connection. - IpAddressV4 *string `locationName:"ipAddressV4" type:"string"` + // A value that contains information on whether S3 data event logs will be enabled + // automatically as a data source for the organization. + // + // AutoEnable is a required field + AutoEnable *bool `locationName:"autoEnable" type:"boolean" required:"true"` } // String returns the string representation. @@ -14154,7 +16389,7 @@ type LocalIpDetails 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 LocalIpDetails) String() string { +func (s OrganizationS3LogsConfiguration) String() string { return awsutil.Prettify(s) } @@ -14163,25 +16398,39 @@ func (s LocalIpDetails) 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 LocalIpDetails) GoString() string { +func (s OrganizationS3LogsConfiguration) GoString() string { return s.String() } -// SetIpAddressV4 sets the IpAddressV4 field's value. -func (s *LocalIpDetails) SetIpAddressV4(v string) *LocalIpDetails { - s.IpAddressV4 = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *OrganizationS3LogsConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OrganizationS3LogsConfiguration"} + if s.AutoEnable == nil { + invalidParams.Add(request.NewErrParamRequired("AutoEnable")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAutoEnable sets the AutoEnable field's value. +func (s *OrganizationS3LogsConfiguration) SetAutoEnable(v bool) *OrganizationS3LogsConfiguration { + s.AutoEnable = &v return s } -// Contains information about the port for the local connection. -type LocalPortDetails struct { +// The current configuration of S3 data event logs as a data source for the +// organization. +type OrganizationS3LogsConfigurationResult struct { _ struct{} `type:"structure"` - // The port number of the local connection. - Port *int64 `locationName:"port" type:"integer"` - - // The port name of the local connection. - PortName *string `locationName:"portName" type:"string"` + // A value that describes whether S3 data event logs are automatically enabled + // for new members of the organization. + // + // AutoEnable is a required field + AutoEnable *bool `locationName:"autoEnable" type:"boolean" required:"true"` } // String returns the string representation. @@ -14189,7 +16438,7 @@ type LocalPortDetails 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 LocalPortDetails) String() string { +func (s OrganizationS3LogsConfigurationResult) String() string { return awsutil.Prettify(s) } @@ -14198,37 +16447,23 @@ func (s LocalPortDetails) 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 LocalPortDetails) GoString() string { +func (s OrganizationS3LogsConfigurationResult) GoString() string { return s.String() } -// SetPort sets the Port field's value. -func (s *LocalPortDetails) SetPort(v int64) *LocalPortDetails { - s.Port = &v - return s -} - -// SetPortName sets the PortName field's value. -func (s *LocalPortDetails) SetPortName(v string) *LocalPortDetails { - s.PortName = &v +// SetAutoEnable sets the AutoEnable field's value. +func (s *OrganizationS3LogsConfigurationResult) SetAutoEnable(v bool) *OrganizationS3LogsConfigurationResult { + s.AutoEnable = &v return s } -// Contains information about the administrator account and invitation. -type Master struct { +// Organization-wide EC2 instances with findings scan configuration. +type OrganizationScanEc2InstanceWithFindings struct { _ struct{} `type:"structure"` - // The ID of the account used as the administrator account. - AccountId *string `locationName:"accountId" min:"12" type:"string"` - - // The value used to validate the administrator account to the member account. - InvitationId *string `locationName:"invitationId" type:"string"` - - // The timestamp when the invitation was sent. - InvitedAt *string `locationName:"invitedAt" type:"string"` - - // The status of the relationship between the administrator and member accounts. - RelationshipStatus *string `locationName:"relationshipStatus" type:"string"` + // Whether scanning EBS volumes should be auto-enabled for new members joining + // the organization. + EbsVolumes *OrganizationEbsVolumes `locationName:"ebsVolumes" type:"structure"` } // String returns the string representation. @@ -14236,7 +16471,7 @@ type Master 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 Master) String() string { +func (s OrganizationScanEc2InstanceWithFindings) String() string { return awsutil.Prettify(s) } @@ -14245,71 +16480,23 @@ func (s Master) 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 Master) GoString() string { +func (s OrganizationScanEc2InstanceWithFindings) GoString() string { return s.String() } -// SetAccountId sets the AccountId field's value. -func (s *Master) SetAccountId(v string) *Master { - s.AccountId = &v - return s -} - -// SetInvitationId sets the InvitationId field's value. -func (s *Master) SetInvitationId(v string) *Master { - s.InvitationId = &v - return s -} - -// SetInvitedAt sets the InvitedAt field's value. -func (s *Master) SetInvitedAt(v string) *Master { - s.InvitedAt = &v - return s -} - -// SetRelationshipStatus sets the RelationshipStatus field's value. -func (s *Master) SetRelationshipStatus(v string) *Master { - s.RelationshipStatus = &v +// SetEbsVolumes sets the EbsVolumes field's value. +func (s *OrganizationScanEc2InstanceWithFindings) SetEbsVolumes(v *OrganizationEbsVolumes) *OrganizationScanEc2InstanceWithFindings { + s.EbsVolumes = v return s } -// Contains information about the member account. -type Member struct { - _ struct{} `type:"structure"` - - // The ID of the member account. - // - // AccountId is a required field - AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"` - - // The administrator account ID. - AdministratorId *string `locationName:"administratorId" type:"string"` - - // The detector ID of the member account. - DetectorId *string `locationName:"detectorId" min:"1" type:"string"` - - // The email address of the member account. - // - // Email is a required field - Email *string `locationName:"email" min:"1" type:"string" required:"true"` - - // The timestamp when the invitation was sent. - InvitedAt *string `locationName:"invitedAt" type:"string"` - - // The administrator account ID. - // - // MasterId is a required field - MasterId *string `locationName:"masterId" type:"string" required:"true"` - - // The status of the relationship between the member and the administrator. - // - // RelationshipStatus is a required field - RelationshipStatus *string `locationName:"relationshipStatus" type:"string" required:"true"` +// An object that contains information on the status of scanning EC2 instances +// with findings for an organization. +type OrganizationScanEc2InstanceWithFindingsResult struct { + _ struct{} `type:"structure"` - // The last-updated timestamp of the member. - // - // UpdatedAt is a required field - UpdatedAt *string `locationName:"updatedAt" type:"string" required:"true"` + // Describes the configuration for scanning EBS volumes for an organization. + EbsVolumes *OrganizationEbsVolumesResult `locationName:"ebsVolumes" type:"structure"` } // String returns the string representation. @@ -14317,7 +16504,7 @@ type Member 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 Member) String() string { +func (s OrganizationScanEc2InstanceWithFindingsResult) String() string { return awsutil.Prettify(s) } @@ -14326,71 +16513,58 @@ func (s Member) 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 Member) GoString() string { +func (s OrganizationScanEc2InstanceWithFindingsResult) GoString() string { return s.String() } -// SetAccountId sets the AccountId field's value. -func (s *Member) SetAccountId(v string) *Member { - s.AccountId = &v - return s -} - -// SetAdministratorId sets the AdministratorId field's value. -func (s *Member) SetAdministratorId(v string) *Member { - s.AdministratorId = &v - return s -} - -// SetDetectorId sets the DetectorId field's value. -func (s *Member) SetDetectorId(v string) *Member { - s.DetectorId = &v +// SetEbsVolumes sets the EbsVolumes field's value. +func (s *OrganizationScanEc2InstanceWithFindingsResult) SetEbsVolumes(v *OrganizationEbsVolumesResult) *OrganizationScanEc2InstanceWithFindingsResult { + s.EbsVolumes = v return s } -// SetEmail sets the Email field's value. -func (s *Member) SetEmail(v string) *Member { - s.Email = &v - return s -} +// Contains information on the owner of the bucket. +type Owner struct { + _ struct{} `type:"structure"` -// SetInvitedAt sets the InvitedAt field's value. -func (s *Member) SetInvitedAt(v string) *Member { - s.InvitedAt = &v - return s + // The canonical user ID of the bucket owner. For information about locating + // your canonical user ID see Finding Your Account Canonical User ID. (https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html#FindingCanonicalId) + Id *string `locationName:"id" type:"string"` } -// SetMasterId sets the MasterId field's value. -func (s *Member) SetMasterId(v string) *Member { - s.MasterId = &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 Owner) String() string { + return awsutil.Prettify(s) } -// SetRelationshipStatus sets the RelationshipStatus field's value. -func (s *Member) SetRelationshipStatus(v string) *Member { - s.RelationshipStatus = &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 Owner) GoString() string { + return s.String() } -// SetUpdatedAt sets the UpdatedAt field's value. -func (s *Member) SetUpdatedAt(v string) *Member { - s.UpdatedAt = &v +// SetId sets the Id field's value. +func (s *Owner) SetId(v string) *Owner { + s.Id = &v return s } -// Contains information on which data sources are enabled for a member account. -type MemberDataSourceConfiguration struct { +// Contains information about how permissions are configured for the S3 bucket. +type PermissionConfiguration struct { _ struct{} `type:"structure"` - // The account ID for the member account. - // - // AccountId is a required field - AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"` + // Contains information about the account level permissions on the S3 bucket. + AccountLevelPermissions *AccountLevelPermissions `locationName:"accountLevelPermissions" type:"structure"` - // Contains information on the status of data sources for the account. - // - // DataSources is a required field - DataSources *DataSourceConfigurationsResult `locationName:"dataSources" type:"structure" required:"true"` + // Contains information about the bucket level permissions for the S3 bucket. + BucketLevelPermissions *BucketLevelPermissions `locationName:"bucketLevelPermissions" type:"structure"` } // String returns the string representation. @@ -14398,7 +16572,7 @@ type MemberDataSourceConfiguration 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 MemberDataSourceConfiguration) String() string { +func (s PermissionConfiguration) String() string { return awsutil.Prettify(s) } @@ -14407,47 +16581,32 @@ func (s MemberDataSourceConfiguration) 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 MemberDataSourceConfiguration) GoString() string { +func (s PermissionConfiguration) GoString() string { return s.String() } -// SetAccountId sets the AccountId field's value. -func (s *MemberDataSourceConfiguration) SetAccountId(v string) *MemberDataSourceConfiguration { - s.AccountId = &v +// SetAccountLevelPermissions sets the AccountLevelPermissions field's value. +func (s *PermissionConfiguration) SetAccountLevelPermissions(v *AccountLevelPermissions) *PermissionConfiguration { + s.AccountLevelPermissions = v return s } -// SetDataSources sets the DataSources field's value. -func (s *MemberDataSourceConfiguration) SetDataSources(v *DataSourceConfigurationsResult) *MemberDataSourceConfiguration { - s.DataSources = v +// SetBucketLevelPermissions sets the BucketLevelPermissions field's value. +func (s *PermissionConfiguration) SetBucketLevelPermissions(v *BucketLevelPermissions) *PermissionConfiguration { + s.BucketLevelPermissions = v return s } -// Contains information about the NETWORK_CONNECTION action described in the -// finding. -type NetworkConnectionAction struct { +// Contains information about the PORT_PROBE action described in the finding. +type PortProbeAction struct { _ struct{} `type:"structure"` - // Indicates whether EC2 blocked the network connection to your instance. + // Indicates whether EC2 blocked the port probe to the instance, such as with + // an ACL. Blocked *bool `locationName:"blocked" type:"boolean"` - // The network connection direction. - ConnectionDirection *string `locationName:"connectionDirection" type:"string"` - - // The local IP information of the connection. - LocalIpDetails *LocalIpDetails `locationName:"localIpDetails" type:"structure"` - - // The local port information of the connection. - LocalPortDetails *LocalPortDetails `locationName:"localPortDetails" type:"structure"` - - // The network connection protocol. - Protocol *string `locationName:"protocol" type:"string"` - - // The remote IP information of the connection. - RemoteIpDetails *RemoteIpDetails `locationName:"remoteIpDetails" type:"structure"` - - // The remote port information of the connection. - RemotePortDetails *RemotePortDetails `locationName:"remotePortDetails" type:"structure"` + // A list of objects related to port probe details. + PortProbeDetails []*PortProbeDetail `locationName:"portProbeDetails" type:"list"` } // String returns the string representation. @@ -14455,7 +16614,7 @@ type NetworkConnectionAction 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 NetworkConnectionAction) String() string { +func (s PortProbeAction) String() string { return awsutil.Prettify(s) } @@ -14464,85 +16623,34 @@ func (s NetworkConnectionAction) 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 NetworkConnectionAction) GoString() string { +func (s PortProbeAction) GoString() string { return s.String() } // SetBlocked sets the Blocked field's value. -func (s *NetworkConnectionAction) SetBlocked(v bool) *NetworkConnectionAction { +func (s *PortProbeAction) SetBlocked(v bool) *PortProbeAction { s.Blocked = &v return s } -// SetConnectionDirection sets the ConnectionDirection field's value. -func (s *NetworkConnectionAction) SetConnectionDirection(v string) *NetworkConnectionAction { - s.ConnectionDirection = &v - return s -} - -// SetLocalIpDetails sets the LocalIpDetails field's value. -func (s *NetworkConnectionAction) SetLocalIpDetails(v *LocalIpDetails) *NetworkConnectionAction { - s.LocalIpDetails = v - return s -} - -// SetLocalPortDetails sets the LocalPortDetails field's value. -func (s *NetworkConnectionAction) SetLocalPortDetails(v *LocalPortDetails) *NetworkConnectionAction { - s.LocalPortDetails = v - return s -} - -// SetProtocol sets the Protocol field's value. -func (s *NetworkConnectionAction) SetProtocol(v string) *NetworkConnectionAction { - s.Protocol = &v - return s -} - -// SetRemoteIpDetails sets the RemoteIpDetails field's value. -func (s *NetworkConnectionAction) SetRemoteIpDetails(v *RemoteIpDetails) *NetworkConnectionAction { - s.RemoteIpDetails = v - return s -} - -// SetRemotePortDetails sets the RemotePortDetails field's value. -func (s *NetworkConnectionAction) SetRemotePortDetails(v *RemotePortDetails) *NetworkConnectionAction { - s.RemotePortDetails = v +// SetPortProbeDetails sets the PortProbeDetails field's value. +func (s *PortProbeAction) SetPortProbeDetails(v []*PortProbeDetail) *PortProbeAction { + s.PortProbeDetails = v return s } -// Contains information about the elastic network interface of the EC2 instance. -type NetworkInterface struct { +// Contains information about the port probe details. +type PortProbeDetail struct { _ struct{} `type:"structure"` - // A list of IPv6 addresses for the EC2 instance. - Ipv6Addresses []*string `locationName:"ipv6Addresses" type:"list"` - - // The ID of the network interface. - NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"` - - // The private DNS name of the EC2 instance. - PrivateDnsName *string `locationName:"privateDnsName" type:"string"` - - // The private IP address of the EC2 instance. - PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"` - - // Other private IP address information of the EC2 instance. - PrivateIpAddresses []*PrivateIpAddressDetails `locationName:"privateIpAddresses" type:"list"` - - // The public DNS name of the EC2 instance. - PublicDnsName *string `locationName:"publicDnsName" type:"string"` - - // The public IP address of the EC2 instance. - PublicIp *string `locationName:"publicIp" type:"string"` - - // The security groups associated with the EC2 instance. - SecurityGroups []*SecurityGroup `locationName:"securityGroups" type:"list"` + // The local IP information of the connection. + LocalIpDetails *LocalIpDetails `locationName:"localIpDetails" type:"structure"` - // The subnet ID of the EC2 instance. - SubnetId *string `locationName:"subnetId" type:"string"` + // The local port information of the connection. + LocalPortDetails *LocalPortDetails `locationName:"localPortDetails" type:"structure"` - // The VPC ID of the EC2 instance. - VpcId *string `locationName:"vpcId" type:"string"` + // The remote IP information of the connection. + RemoteIpDetails *RemoteIpDetails `locationName:"remoteIpDetails" type:"structure"` } // String returns the string representation. @@ -14550,7 +16658,7 @@ type NetworkInterface 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 NetworkInterface) String() string { +func (s PortProbeDetail) String() string { return awsutil.Prettify(s) } @@ -14559,86 +16667,37 @@ func (s NetworkInterface) 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 NetworkInterface) GoString() string { +func (s PortProbeDetail) GoString() string { return s.String() } -// SetIpv6Addresses sets the Ipv6Addresses field's value. -func (s *NetworkInterface) SetIpv6Addresses(v []*string) *NetworkInterface { - s.Ipv6Addresses = v - return s -} - -// SetNetworkInterfaceId sets the NetworkInterfaceId field's value. -func (s *NetworkInterface) SetNetworkInterfaceId(v string) *NetworkInterface { - s.NetworkInterfaceId = &v - return s -} - -// SetPrivateDnsName sets the PrivateDnsName field's value. -func (s *NetworkInterface) SetPrivateDnsName(v string) *NetworkInterface { - s.PrivateDnsName = &v - return s -} - -// SetPrivateIpAddress sets the PrivateIpAddress field's value. -func (s *NetworkInterface) SetPrivateIpAddress(v string) *NetworkInterface { - s.PrivateIpAddress = &v - return s -} - -// SetPrivateIpAddresses sets the PrivateIpAddresses field's value. -func (s *NetworkInterface) SetPrivateIpAddresses(v []*PrivateIpAddressDetails) *NetworkInterface { - s.PrivateIpAddresses = v - return s -} - -// SetPublicDnsName sets the PublicDnsName field's value. -func (s *NetworkInterface) SetPublicDnsName(v string) *NetworkInterface { - s.PublicDnsName = &v - return s -} - -// SetPublicIp sets the PublicIp field's value. -func (s *NetworkInterface) SetPublicIp(v string) *NetworkInterface { - s.PublicIp = &v - return s -} - -// SetSecurityGroups sets the SecurityGroups field's value. -func (s *NetworkInterface) SetSecurityGroups(v []*SecurityGroup) *NetworkInterface { - s.SecurityGroups = v +// SetLocalIpDetails sets the LocalIpDetails field's value. +func (s *PortProbeDetail) SetLocalIpDetails(v *LocalIpDetails) *PortProbeDetail { + s.LocalIpDetails = v return s } -// SetSubnetId sets the SubnetId field's value. -func (s *NetworkInterface) SetSubnetId(v string) *NetworkInterface { - s.SubnetId = &v +// SetLocalPortDetails sets the LocalPortDetails field's value. +func (s *PortProbeDetail) SetLocalPortDetails(v *LocalPortDetails) *PortProbeDetail { + s.LocalPortDetails = v return s } -// SetVpcId sets the VpcId field's value. -func (s *NetworkInterface) SetVpcId(v string) *NetworkInterface { - s.VpcId = &v +// SetRemoteIpDetails sets the RemoteIpDetails field's value. +func (s *PortProbeDetail) SetRemoteIpDetails(v *RemoteIpDetails) *PortProbeDetail { + s.RemoteIpDetails = v return s } -// Contains information about the ISP organization of the remote IP address. -type Organization struct { +// Contains other private IP address information of the EC2 instance. +type PrivateIpAddressDetails struct { _ struct{} `type:"structure"` - // The Autonomous System Number (ASN) of the internet provider of the remote - // IP address. - Asn *string `locationName:"asn" type:"string"` - - // The organization that registered this ASN. - AsnOrg *string `locationName:"asnOrg" type:"string"` - - // The ISP information for the internet provider. - Isp *string `locationName:"isp" type:"string"` + // The private DNS name of the EC2 instance. + PrivateDnsName *string `locationName:"privateDnsName" type:"string"` - // The name of the internet provider. - Org *string `locationName:"org" type:"string"` + // The private IP address of the EC2 instance. + PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"` } // String returns the string representation. @@ -14646,7 +16705,7 @@ type Organization 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 Organization) String() string { +func (s PrivateIpAddressDetails) String() string { return awsutil.Prettify(s) } @@ -14655,45 +16714,73 @@ func (s Organization) 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 Organization) GoString() string { +func (s PrivateIpAddressDetails) GoString() string { return s.String() } -// SetAsn sets the Asn field's value. -func (s *Organization) SetAsn(v string) *Organization { - s.Asn = &v +// SetPrivateDnsName sets the PrivateDnsName field's value. +func (s *PrivateIpAddressDetails) SetPrivateDnsName(v string) *PrivateIpAddressDetails { + s.PrivateDnsName = &v return s } -// SetAsnOrg sets the AsnOrg field's value. -func (s *Organization) SetAsnOrg(v string) *Organization { - s.AsnOrg = &v +// SetPrivateIpAddress sets the PrivateIpAddress field's value. +func (s *PrivateIpAddressDetails) SetPrivateIpAddress(v string) *PrivateIpAddressDetails { + s.PrivateIpAddress = &v return s } -// SetIsp sets the Isp field's value. -func (s *Organization) SetIsp(v string) *Organization { - s.Isp = &v +// Contains information about the product code for the EC2 instance. +type ProductCode struct { + _ struct{} `type:"structure"` + + // The product code information. + Code *string `locationName:"productCodeId" type:"string"` + + // The product code type. + ProductType *string `locationName:"productCodeType" 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 ProductCode) 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 ProductCode) GoString() string { + return s.String() +} + +// SetCode sets the Code field's value. +func (s *ProductCode) SetCode(v string) *ProductCode { + s.Code = &v return s } -// SetOrg sets the Org field's value. -func (s *Organization) SetOrg(v string) *Organization { - s.Org = &v +// SetProductType sets the ProductType field's value. +func (s *ProductCode) SetProductType(v string) *ProductCode { + s.ProductType = &v return s } -// An object that contains information on which data sources will be configured -// to be automatically enabled for new members within the organization. -type OrganizationDataSourceConfigurations struct { +// Describes the public access policies that apply to the S3 bucket. +type PublicAccess struct { _ struct{} `type:"structure"` - // Describes the configuration of Kubernetes data sources for new members of - // the organization. - Kubernetes *OrganizationKubernetesConfiguration `locationName:"kubernetes" type:"structure"` + // Describes the effective permission on this bucket after factoring all attached + // policies. + EffectivePermission *string `locationName:"effectivePermission" type:"string"` - // Describes whether S3 data event logs are enabled for new members of the organization. - S3Logs *OrganizationS3LogsConfiguration `locationName:"s3Logs" type:"structure"` + // Contains information about how permissions are configured for the S3 bucket. + PermissionConfiguration *PermissionConfiguration `locationName:"permissionConfiguration" type:"structure"` } // String returns the string representation. @@ -14701,7 +16788,7 @@ type OrganizationDataSourceConfigurations 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 OrganizationDataSourceConfigurations) String() string { +func (s PublicAccess) String() string { return awsutil.Prettify(s) } @@ -14710,54 +16797,35 @@ func (s OrganizationDataSourceConfigurations) 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 OrganizationDataSourceConfigurations) GoString() string { +func (s PublicAccess) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *OrganizationDataSourceConfigurations) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "OrganizationDataSourceConfigurations"} - if s.Kubernetes != nil { - if err := s.Kubernetes.Validate(); err != nil { - invalidParams.AddNested("Kubernetes", err.(request.ErrInvalidParams)) - } - } - if s.S3Logs != nil { - if err := s.S3Logs.Validate(); err != nil { - invalidParams.AddNested("S3Logs", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetKubernetes sets the Kubernetes field's value. -func (s *OrganizationDataSourceConfigurations) SetKubernetes(v *OrganizationKubernetesConfiguration) *OrganizationDataSourceConfigurations { - s.Kubernetes = v +// SetEffectivePermission sets the EffectivePermission field's value. +func (s *PublicAccess) SetEffectivePermission(v string) *PublicAccess { + s.EffectivePermission = &v return s } -// SetS3Logs sets the S3Logs field's value. -func (s *OrganizationDataSourceConfigurations) SetS3Logs(v *OrganizationS3LogsConfiguration) *OrganizationDataSourceConfigurations { - s.S3Logs = v +// SetPermissionConfiguration sets the PermissionConfiguration field's value. +func (s *PublicAccess) SetPermissionConfiguration(v *PermissionConfiguration) *PublicAccess { + s.PermissionConfiguration = v return s } -// An object that contains information on which data sources are automatically -// enabled for new members within the organization. -type OrganizationDataSourceConfigurationsResult struct { +// Contains details about the remote Amazon Web Services account that made the +// API call. +type RemoteAccountDetails struct { _ struct{} `type:"structure"` - // Describes the configuration of Kubernetes data sources. - Kubernetes *OrganizationKubernetesConfigurationResult `locationName:"kubernetes" type:"structure"` + // The Amazon Web Services account ID of the remote API caller. + AccountId *string `locationName:"accountId" type:"string"` - // Describes whether S3 data event logs are enabled as a data source. - // - // S3Logs is a required field - S3Logs *OrganizationS3LogsConfigurationResult `locationName:"s3Logs" type:"structure" required:"true"` + // Details on whether the Amazon Web Services account of the remote API caller + // is related to your GuardDuty environment. If this value is True the API caller + // is affiliated to your account in some way. If it is False the API caller + // is from outside your environment. + Affiliated *bool `locationName:"affiliated" type:"boolean"` } // String returns the string representation. @@ -14765,7 +16833,7 @@ type OrganizationDataSourceConfigurationsResult 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 OrganizationDataSourceConfigurationsResult) String() string { +func (s RemoteAccountDetails) String() string { return awsutil.Prettify(s) } @@ -14774,31 +16842,40 @@ func (s OrganizationDataSourceConfigurationsResult) 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 OrganizationDataSourceConfigurationsResult) GoString() string { +func (s RemoteAccountDetails) GoString() string { return s.String() } -// SetKubernetes sets the Kubernetes field's value. -func (s *OrganizationDataSourceConfigurationsResult) SetKubernetes(v *OrganizationKubernetesConfigurationResult) *OrganizationDataSourceConfigurationsResult { - s.Kubernetes = v +// SetAccountId sets the AccountId field's value. +func (s *RemoteAccountDetails) SetAccountId(v string) *RemoteAccountDetails { + s.AccountId = &v return s } -// SetS3Logs sets the S3Logs field's value. -func (s *OrganizationDataSourceConfigurationsResult) SetS3Logs(v *OrganizationS3LogsConfigurationResult) *OrganizationDataSourceConfigurationsResult { - s.S3Logs = v +// SetAffiliated sets the Affiliated field's value. +func (s *RemoteAccountDetails) SetAffiliated(v bool) *RemoteAccountDetails { + s.Affiliated = &v return s } -// Organization-wide Kubernetes audit logs configuration. -type OrganizationKubernetesAuditLogsConfiguration struct { +// Contains information about the remote IP address of the connection. +type RemoteIpDetails struct { _ struct{} `type:"structure"` - // A value that contains information on whether Kubernetes audit logs should - // be enabled automatically as a data source for the organization. - // - // AutoEnable is a required field - AutoEnable *bool `locationName:"autoEnable" type:"boolean" required:"true"` + // The city information of the remote IP address. + City *City `locationName:"city" type:"structure"` + + // The country code of the remote IP address. + Country *Country `locationName:"country" type:"structure"` + + // The location information of the remote IP address. + GeoLocation *GeoLocation `locationName:"geoLocation" type:"structure"` + + // The IPv4 remote address of the connection. + IpAddressV4 *string `locationName:"ipAddressV4" type:"string"` + + // The ISP organization information of the remote IP address. + Organization *Organization `locationName:"organization" type:"structure"` } // String returns the string representation. @@ -14806,7 +16883,7 @@ type OrganizationKubernetesAuditLogsConfiguration 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 OrganizationKubernetesAuditLogsConfiguration) String() string { +func (s RemoteIpDetails) String() string { return awsutil.Prettify(s) } @@ -14815,39 +16892,49 @@ func (s OrganizationKubernetesAuditLogsConfiguration) 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 OrganizationKubernetesAuditLogsConfiguration) GoString() string { +func (s RemoteIpDetails) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *OrganizationKubernetesAuditLogsConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "OrganizationKubernetesAuditLogsConfiguration"} - if s.AutoEnable == nil { - invalidParams.Add(request.NewErrParamRequired("AutoEnable")) - } +// SetCity sets the City field's value. +func (s *RemoteIpDetails) SetCity(v *City) *RemoteIpDetails { + s.City = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetCountry sets the Country field's value. +func (s *RemoteIpDetails) SetCountry(v *Country) *RemoteIpDetails { + s.Country = v + return s } -// SetAutoEnable sets the AutoEnable field's value. -func (s *OrganizationKubernetesAuditLogsConfiguration) SetAutoEnable(v bool) *OrganizationKubernetesAuditLogsConfiguration { - s.AutoEnable = &v +// SetGeoLocation sets the GeoLocation field's value. +func (s *RemoteIpDetails) SetGeoLocation(v *GeoLocation) *RemoteIpDetails { + s.GeoLocation = v return s } -// The current configuration of Kubernetes audit logs as a data source for the -// organization. -type OrganizationKubernetesAuditLogsConfigurationResult struct { +// SetIpAddressV4 sets the IpAddressV4 field's value. +func (s *RemoteIpDetails) SetIpAddressV4(v string) *RemoteIpDetails { + s.IpAddressV4 = &v + return s +} + +// SetOrganization sets the Organization field's value. +func (s *RemoteIpDetails) SetOrganization(v *Organization) *RemoteIpDetails { + s.Organization = v + return s +} + +// Contains information about the remote port. +type RemotePortDetails struct { _ struct{} `type:"structure"` - // Whether Kubernetes audit logs data source should be auto-enabled for new - // members joining the organization. - // - // AutoEnable is a required field - AutoEnable *bool `locationName:"autoEnable" type:"boolean" required:"true"` + // The port number of the remote connection. + Port *int64 `locationName:"port" type:"integer"` + + // The port name of the remote connection. + PortName *string `locationName:"portName" type:"string"` } // String returns the string representation. @@ -14855,7 +16942,7 @@ type OrganizationKubernetesAuditLogsConfigurationResult 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 OrganizationKubernetesAuditLogsConfigurationResult) String() string { +func (s RemotePortDetails) String() string { return awsutil.Prettify(s) } @@ -14864,25 +16951,55 @@ func (s OrganizationKubernetesAuditLogsConfigurationResult) 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 OrganizationKubernetesAuditLogsConfigurationResult) GoString() string { +func (s RemotePortDetails) GoString() string { return s.String() } -// SetAutoEnable sets the AutoEnable field's value. -func (s *OrganizationKubernetesAuditLogsConfigurationResult) SetAutoEnable(v bool) *OrganizationKubernetesAuditLogsConfigurationResult { - s.AutoEnable = &v +// SetPort sets the Port field's value. +func (s *RemotePortDetails) SetPort(v int64) *RemotePortDetails { + s.Port = &v return s } -// Organization-wide Kubernetes data sources configurations. -type OrganizationKubernetesConfiguration struct { +// SetPortName sets the PortName field's value. +func (s *RemotePortDetails) SetPortName(v string) *RemotePortDetails { + s.PortName = &v + return s +} + +// Contains information about the Amazon Web Services resource associated with +// the activity that prompted GuardDuty to generate a finding. +type Resource struct { _ struct{} `type:"structure"` - // Whether Kubernetes audit logs data source should be auto-enabled for new - // members joining the organization. - // - // AuditLogs is a required field - AuditLogs *OrganizationKubernetesAuditLogsConfiguration `locationName:"auditLogs" type:"structure" required:"true"` + // The IAM access key details (IAM user information) of a user that engaged + // in the activity that prompted GuardDuty to generate a finding. + AccessKeyDetails *AccessKeyDetails `locationName:"accessKeyDetails" type:"structure"` + + // Details of a container. + ContainerDetails *Container `locationName:"containerDetails" type:"structure"` + + // Contains list of scanned and skipped EBS volumes with details. + EbsVolumeDetails *EbsVolumeDetails `locationName:"ebsVolumeDetails" type:"structure"` + + // Contains information about the details of the ECS Cluster. + EcsClusterDetails *EcsClusterDetails `locationName:"ecsClusterDetails" type:"structure"` + + // Details about the EKS cluster involved in a Kubernetes finding. + EksClusterDetails *EksClusterDetails `locationName:"eksClusterDetails" type:"structure"` + + // The information about the EC2 instance associated with the activity that + // prompted GuardDuty to generate a finding. + InstanceDetails *InstanceDetails `locationName:"instanceDetails" type:"structure"` + + // Details about the Kubernetes user and workload involved in a Kubernetes finding. + KubernetesDetails *KubernetesDetails `locationName:"kubernetesDetails" type:"structure"` + + // The type of Amazon Web Services resource. + ResourceType *string `locationName:"resourceType" type:"string"` + + // Contains information on the S3 bucket. + S3BucketDetails []*S3BucketDetail `locationName:"s3BucketDetails" type:"list"` } // String returns the string representation. @@ -14890,7 +17007,7 @@ type OrganizationKubernetesConfiguration 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 OrganizationKubernetesConfiguration) String() string { +func (s Resource) String() string { return awsutil.Prettify(s) } @@ -14899,79 +17016,70 @@ func (s OrganizationKubernetesConfiguration) 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 OrganizationKubernetesConfiguration) GoString() string { +func (s Resource) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *OrganizationKubernetesConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "OrganizationKubernetesConfiguration"} - if s.AuditLogs == nil { - invalidParams.Add(request.NewErrParamRequired("AuditLogs")) - } - if s.AuditLogs != nil { - if err := s.AuditLogs.Validate(); err != nil { - invalidParams.AddNested("AuditLogs", err.(request.ErrInvalidParams)) - } - } +// SetAccessKeyDetails sets the AccessKeyDetails field's value. +func (s *Resource) SetAccessKeyDetails(v *AccessKeyDetails) *Resource { + s.AccessKeyDetails = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetContainerDetails sets the ContainerDetails field's value. +func (s *Resource) SetContainerDetails(v *Container) *Resource { + s.ContainerDetails = v + return s } -// SetAuditLogs sets the AuditLogs field's value. -func (s *OrganizationKubernetesConfiguration) SetAuditLogs(v *OrganizationKubernetesAuditLogsConfiguration) *OrganizationKubernetesConfiguration { - s.AuditLogs = v +// SetEbsVolumeDetails sets the EbsVolumeDetails field's value. +func (s *Resource) SetEbsVolumeDetails(v *EbsVolumeDetails) *Resource { + s.EbsVolumeDetails = v return s } -// The current configuration of all Kubernetes data sources for the organization. -type OrganizationKubernetesConfigurationResult struct { - _ struct{} `type:"structure"` +// SetEcsClusterDetails sets the EcsClusterDetails field's value. +func (s *Resource) SetEcsClusterDetails(v *EcsClusterDetails) *Resource { + s.EcsClusterDetails = v + return s +} - // The current configuration of Kubernetes audit logs as a data source for the - // organization. - // - // AuditLogs is a required field - AuditLogs *OrganizationKubernetesAuditLogsConfigurationResult `locationName:"auditLogs" type:"structure" required:"true"` +// SetEksClusterDetails sets the EksClusterDetails field's value. +func (s *Resource) SetEksClusterDetails(v *EksClusterDetails) *Resource { + s.EksClusterDetails = 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 OrganizationKubernetesConfigurationResult) String() string { - return awsutil.Prettify(s) +// SetInstanceDetails sets the InstanceDetails field's value. +func (s *Resource) SetInstanceDetails(v *InstanceDetails) *Resource { + s.InstanceDetails = 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 OrganizationKubernetesConfigurationResult) GoString() string { - return s.String() +// SetKubernetesDetails sets the KubernetesDetails field's value. +func (s *Resource) SetKubernetesDetails(v *KubernetesDetails) *Resource { + s.KubernetesDetails = v + return s } -// SetAuditLogs sets the AuditLogs field's value. -func (s *OrganizationKubernetesConfigurationResult) SetAuditLogs(v *OrganizationKubernetesAuditLogsConfigurationResult) *OrganizationKubernetesConfigurationResult { - s.AuditLogs = v +// SetResourceType sets the ResourceType field's value. +func (s *Resource) SetResourceType(v string) *Resource { + s.ResourceType = &v return s } -// Describes whether S3 data event logs will be automatically enabled for new -// members of the organization. -type OrganizationS3LogsConfiguration struct { +// SetS3BucketDetails sets the S3BucketDetails field's value. +func (s *Resource) SetS3BucketDetails(v []*S3BucketDetail) *Resource { + s.S3BucketDetails = v + return s +} + +// Represents the resources that were scanned in the scan entry. +type ResourceDetails struct { _ struct{} `type:"structure"` - // A value that contains information on whether S3 data event logs will be enabled - // automatically as a data source for the organization. - // - // AutoEnable is a required field - AutoEnable *bool `locationName:"autoEnable" type:"boolean" required:"true"` + // InstanceArn that was scanned in the scan entry. + InstanceArn *string `locationName:"instanceArn" type:"string"` } // String returns the string representation. @@ -14979,7 +17087,7 @@ type OrganizationS3LogsConfiguration 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 OrganizationS3LogsConfiguration) String() string { +func (s ResourceDetails) String() string { return awsutil.Prettify(s) } @@ -14988,39 +17096,43 @@ func (s OrganizationS3LogsConfiguration) 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 OrganizationS3LogsConfiguration) GoString() string { +func (s ResourceDetails) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *OrganizationS3LogsConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "OrganizationS3LogsConfiguration"} - if s.AutoEnable == nil { - invalidParams.Add(request.NewErrParamRequired("AutoEnable")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetAutoEnable sets the AutoEnable field's value. -func (s *OrganizationS3LogsConfiguration) SetAutoEnable(v bool) *OrganizationS3LogsConfiguration { - s.AutoEnable = &v +// SetInstanceArn sets the InstanceArn field's value. +func (s *ResourceDetails) SetInstanceArn(v string) *ResourceDetails { + s.InstanceArn = &v return s } -// The current configuration of S3 data event logs as a data source for the -// organization. -type OrganizationS3LogsConfigurationResult struct { +// Contains information on the S3 bucket. +type S3BucketDetail struct { _ struct{} `type:"structure"` - // A value that describes whether S3 data event logs are automatically enabled - // for new members of the organization. - // - // AutoEnable is a required field - AutoEnable *bool `locationName:"autoEnable" type:"boolean" required:"true"` + // The Amazon Resource Name (ARN) of the S3 bucket. + Arn *string `locationName:"arn" type:"string"` + + // The date and time the bucket was created at. + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` + + // Describes the server side encryption method used in the S3 bucket. + DefaultServerSideEncryption *DefaultServerSideEncryption `locationName:"defaultServerSideEncryption" type:"structure"` + + // The name of the S3 bucket. + Name *string `locationName:"name" type:"string"` + + // The owner of the S3 bucket. + Owner *Owner `locationName:"owner" type:"structure"` + + // Describes the public access policies that apply to the S3 bucket. + PublicAccess *PublicAccess `locationName:"publicAccess" type:"structure"` + + // All tags attached to the S3 bucket + Tags []*Tag `locationName:"tags" type:"list"` + + // Describes whether the bucket is a source or destination bucket. + Type *string `locationName:"type" type:"string"` } // String returns the string representation. @@ -15028,7 +17140,7 @@ type OrganizationS3LogsConfigurationResult 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 OrganizationS3LogsConfigurationResult) String() string { +func (s S3BucketDetail) String() string { return awsutil.Prettify(s) } @@ -15037,58 +17149,66 @@ func (s OrganizationS3LogsConfigurationResult) 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 OrganizationS3LogsConfigurationResult) GoString() string { +func (s S3BucketDetail) GoString() string { return s.String() } -// SetAutoEnable sets the AutoEnable field's value. -func (s *OrganizationS3LogsConfigurationResult) SetAutoEnable(v bool) *OrganizationS3LogsConfigurationResult { - s.AutoEnable = &v +// SetArn sets the Arn field's value. +func (s *S3BucketDetail) SetArn(v string) *S3BucketDetail { + s.Arn = &v return s } -// Contains information on the owner of the bucket. -type Owner struct { - _ struct{} `type:"structure"` +// SetCreatedAt sets the CreatedAt field's value. +func (s *S3BucketDetail) SetCreatedAt(v time.Time) *S3BucketDetail { + s.CreatedAt = &v + return s +} - // The canonical user ID of the bucket owner. For information about locating - // your canonical user ID see Finding Your Account Canonical User ID. (https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html#FindingCanonicalId) - Id *string `locationName:"id" type:"string"` +// SetDefaultServerSideEncryption sets the DefaultServerSideEncryption field's value. +func (s *S3BucketDetail) SetDefaultServerSideEncryption(v *DefaultServerSideEncryption) *S3BucketDetail { + s.DefaultServerSideEncryption = 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 Owner) String() string { - return awsutil.Prettify(s) +// SetName sets the Name field's value. +func (s *S3BucketDetail) SetName(v string) *S3BucketDetail { + 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 Owner) GoString() string { - return s.String() +// SetOwner sets the Owner field's value. +func (s *S3BucketDetail) SetOwner(v *Owner) *S3BucketDetail { + s.Owner = v + return s } -// SetId sets the Id field's value. -func (s *Owner) SetId(v string) *Owner { - s.Id = &v +// SetPublicAccess sets the PublicAccess field's value. +func (s *S3BucketDetail) SetPublicAccess(v *PublicAccess) *S3BucketDetail { + s.PublicAccess = v return s } -// Contains information about how permissions are configured for the S3 bucket. -type PermissionConfiguration struct { - _ struct{} `type:"structure"` +// SetTags sets the Tags field's value. +func (s *S3BucketDetail) SetTags(v []*Tag) *S3BucketDetail { + s.Tags = v + return s +} - // Contains information about the account level permissions on the S3 bucket. - AccountLevelPermissions *AccountLevelPermissions `locationName:"accountLevelPermissions" type:"structure"` +// SetType sets the Type field's value. +func (s *S3BucketDetail) SetType(v string) *S3BucketDetail { + s.Type = &v + return s +} - // Contains information about the bucket level permissions for the S3 bucket. - BucketLevelPermissions *BucketLevelPermissions `locationName:"bucketLevelPermissions" type:"structure"` +// Describes whether S3 data event logs will be enabled as a data source. +type S3LogsConfiguration struct { + _ struct{} `type:"structure"` + + // The status of S3 data event logs as a data source. + // + // Enable is a required field + Enable *bool `locationName:"enable" type:"boolean" required:"true"` } // String returns the string representation. @@ -15096,7 +17216,7 @@ type PermissionConfiguration 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 PermissionConfiguration) String() string { +func (s S3LogsConfiguration) String() string { return awsutil.Prettify(s) } @@ -15105,32 +17225,38 @@ func (s PermissionConfiguration) 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 PermissionConfiguration) GoString() string { +func (s S3LogsConfiguration) GoString() string { return s.String() } -// SetAccountLevelPermissions sets the AccountLevelPermissions field's value. -func (s *PermissionConfiguration) SetAccountLevelPermissions(v *AccountLevelPermissions) *PermissionConfiguration { - s.AccountLevelPermissions = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *S3LogsConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "S3LogsConfiguration"} + if s.Enable == nil { + invalidParams.Add(request.NewErrParamRequired("Enable")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetBucketLevelPermissions sets the BucketLevelPermissions field's value. -func (s *PermissionConfiguration) SetBucketLevelPermissions(v *BucketLevelPermissions) *PermissionConfiguration { - s.BucketLevelPermissions = v +// SetEnable sets the Enable field's value. +func (s *S3LogsConfiguration) SetEnable(v bool) *S3LogsConfiguration { + s.Enable = &v return s } -// Contains information about the PORT_PROBE action described in the finding. -type PortProbeAction struct { +// Describes whether S3 data event logs will be enabled as a data source. +type S3LogsConfigurationResult struct { _ struct{} `type:"structure"` - // Indicates whether EC2 blocked the port probe to the instance, such as with - // an ACL. - Blocked *bool `locationName:"blocked" type:"boolean"` - - // A list of objects related to port probe details. - PortProbeDetails []*PortProbeDetail `locationName:"portProbeDetails" type:"list"` + // A value that describes whether S3 data event logs are automatically enabled + // for new members of the organization. + // + // Status is a required field + Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"DataSourceStatus"` } // String returns the string representation. @@ -15138,7 +17264,7 @@ type PortProbeAction 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 PortProbeAction) String() string { +func (s S3LogsConfigurationResult) String() string { return awsutil.Prettify(s) } @@ -15147,34 +17273,63 @@ func (s PortProbeAction) 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 PortProbeAction) GoString() string { +func (s S3LogsConfigurationResult) GoString() string { return s.String() } -// SetBlocked sets the Blocked field's value. -func (s *PortProbeAction) SetBlocked(v bool) *PortProbeAction { - s.Blocked = &v - return s -} - -// SetPortProbeDetails sets the PortProbeDetails field's value. -func (s *PortProbeAction) SetPortProbeDetails(v []*PortProbeDetail) *PortProbeAction { - s.PortProbeDetails = v +// SetStatus sets the Status field's value. +func (s *S3LogsConfigurationResult) SetStatus(v string) *S3LogsConfigurationResult { + s.Status = &v return s } -// Contains information about the port probe details. -type PortProbeDetail struct { +// Contains information about a malware scan. +type Scan struct { _ struct{} `type:"structure"` - // The local IP information of the connection. - LocalIpDetails *LocalIpDetails `locationName:"localIpDetails" type:"structure"` + // The ID for the account that belongs to the scan. + AccountId *string `locationName:"accountId" min:"12" type:"string"` - // The local port information of the connection. - LocalPortDetails *LocalPortDetails `locationName:"localPortDetails" type:"structure"` + // The unique detector ID of the administrator account that the request is associated + // with. Note that this value will be the same as the one used for DetectorId + // if the account is an administrator. + AdminDetectorId *string `locationName:"adminDetectorId" min:"1" type:"string"` - // The remote IP information of the connection. - RemoteIpDetails *RemoteIpDetails `locationName:"remoteIpDetails" type:"structure"` + // List of volumes that were attached to the original instance to be scanned. + AttachedVolumes []*VolumeDetail `locationName:"attachedVolumes" type:"list"` + + // The unique ID of the detector that the request is associated with. + DetectorId *string `locationName:"detectorId" min:"1" type:"string"` + + // Represents the reason for FAILED scan status. + FailureReason *string `locationName:"failureReason" min:"1" type:"string"` + + // Represents the number of files that were scanned. + FileCount *int64 `locationName:"fileCount" type:"long"` + + // Represents the resources that were scanned in the scan entry. + ResourceDetails *ResourceDetails `locationName:"resourceDetails" type:"structure"` + + // The timestamp of when the scan was finished. + ScanEndTime *time.Time `locationName:"scanEndTime" type:"timestamp"` + + // The unique scan ID associated with a scan entry. + ScanId *string `locationName:"scanId" min:"1" type:"string"` + + // Represents the result of the scan. + ScanResultDetails *ScanResultDetails `locationName:"scanResultDetails" type:"structure"` + + // The timestamp of when the scan was triggered. + ScanStartTime *time.Time `locationName:"scanStartTime" type:"timestamp"` + + // An enum value representing possible scan statuses. + ScanStatus *string `locationName:"scanStatus" type:"string" enum:"ScanStatus"` + + // Represents total bytes that were scanned. + TotalBytes *int64 `locationName:"totalBytes" type:"long"` + + // Represents the reason the scan was triggered. + TriggerDetails *TriggerDetails `locationName:"triggerDetails" type:"structure"` } // String returns the string representation. @@ -15182,7 +17337,7 @@ type PortProbeDetail 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 PortProbeDetail) String() string { +func (s Scan) String() string { return awsutil.Prettify(s) } @@ -15191,120 +17346,103 @@ func (s PortProbeDetail) 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 PortProbeDetail) GoString() string { +func (s Scan) GoString() string { return s.String() } -// SetLocalIpDetails sets the LocalIpDetails field's value. -func (s *PortProbeDetail) SetLocalIpDetails(v *LocalIpDetails) *PortProbeDetail { - s.LocalIpDetails = v +// SetAccountId sets the AccountId field's value. +func (s *Scan) SetAccountId(v string) *Scan { + s.AccountId = &v return s } -// SetLocalPortDetails sets the LocalPortDetails field's value. -func (s *PortProbeDetail) SetLocalPortDetails(v *LocalPortDetails) *PortProbeDetail { - s.LocalPortDetails = v +// SetAdminDetectorId sets the AdminDetectorId field's value. +func (s *Scan) SetAdminDetectorId(v string) *Scan { + s.AdminDetectorId = &v return s } -// SetRemoteIpDetails sets the RemoteIpDetails field's value. -func (s *PortProbeDetail) SetRemoteIpDetails(v *RemoteIpDetails) *PortProbeDetail { - s.RemoteIpDetails = v +// SetAttachedVolumes sets the AttachedVolumes field's value. +func (s *Scan) SetAttachedVolumes(v []*VolumeDetail) *Scan { + s.AttachedVolumes = v return s } -// Contains other private IP address information of the EC2 instance. -type PrivateIpAddressDetails struct { - _ struct{} `type:"structure"` - - // The private DNS name of the EC2 instance. - PrivateDnsName *string `locationName:"privateDnsName" type:"string"` - - // The private IP address of the EC2 instance. - PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"` +// SetDetectorId sets the DetectorId field's value. +func (s *Scan) SetDetectorId(v string) *Scan { + s.DetectorId = &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 PrivateIpAddressDetails) String() string { - return awsutil.Prettify(s) +// SetFailureReason sets the FailureReason field's value. +func (s *Scan) SetFailureReason(v string) *Scan { + s.FailureReason = &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 PrivateIpAddressDetails) GoString() string { - return s.String() +// SetFileCount sets the FileCount field's value. +func (s *Scan) SetFileCount(v int64) *Scan { + s.FileCount = &v + return s } -// SetPrivateDnsName sets the PrivateDnsName field's value. -func (s *PrivateIpAddressDetails) SetPrivateDnsName(v string) *PrivateIpAddressDetails { - s.PrivateDnsName = &v +// SetResourceDetails sets the ResourceDetails field's value. +func (s *Scan) SetResourceDetails(v *ResourceDetails) *Scan { + s.ResourceDetails = v return s } -// SetPrivateIpAddress sets the PrivateIpAddress field's value. -func (s *PrivateIpAddressDetails) SetPrivateIpAddress(v string) *PrivateIpAddressDetails { - s.PrivateIpAddress = &v +// SetScanEndTime sets the ScanEndTime field's value. +func (s *Scan) SetScanEndTime(v time.Time) *Scan { + s.ScanEndTime = &v return s } -// Contains information about the product code for the EC2 instance. -type ProductCode struct { - _ struct{} `type:"structure"` - - // The product code information. - Code *string `locationName:"productCodeId" type:"string"` +// SetScanId sets the ScanId field's value. +func (s *Scan) SetScanId(v string) *Scan { + s.ScanId = &v + return s +} - // The product code type. - ProductType *string `locationName:"productCodeType" type:"string"` +// SetScanResultDetails sets the ScanResultDetails field's value. +func (s *Scan) SetScanResultDetails(v *ScanResultDetails) *Scan { + s.ScanResultDetails = 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 ProductCode) String() string { - return awsutil.Prettify(s) +// SetScanStartTime sets the ScanStartTime field's value. +func (s *Scan) SetScanStartTime(v time.Time) *Scan { + s.ScanStartTime = &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 ProductCode) GoString() string { - return s.String() +// SetScanStatus sets the ScanStatus field's value. +func (s *Scan) SetScanStatus(v string) *Scan { + s.ScanStatus = &v + return s } -// SetCode sets the Code field's value. -func (s *ProductCode) SetCode(v string) *ProductCode { - s.Code = &v +// SetTotalBytes sets the TotalBytes field's value. +func (s *Scan) SetTotalBytes(v int64) *Scan { + s.TotalBytes = &v return s } -// SetProductType sets the ProductType field's value. -func (s *ProductCode) SetProductType(v string) *ProductCode { - s.ProductType = &v +// SetTriggerDetails sets the TriggerDetails field's value. +func (s *Scan) SetTriggerDetails(v *TriggerDetails) *Scan { + s.TriggerDetails = v return s } -// Describes the public access policies that apply to the S3 bucket. -type PublicAccess struct { +// Contains information about the condition. +type ScanCondition struct { _ struct{} `type:"structure"` - // Describes the effective permission on this bucket after factoring all attached - // policies. - EffectivePermission *string `locationName:"effectivePermission" type:"string"` - - // Contains information about how permissions are configured for the S3 bucket. - PermissionConfiguration *PermissionConfiguration `locationName:"permissionConfiguration" type:"structure"` + // Represents an mapEqual condition to be applied to a single field when triggering + // for malware scan. + // + // MapEquals is a required field + MapEquals []*ScanConditionPair `locationName:"mapEquals" type:"list" required:"true"` } // String returns the string representation. @@ -15312,7 +17450,7 @@ type PublicAccess 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 PublicAccess) String() string { +func (s ScanCondition) String() string { return awsutil.Prettify(s) } @@ -15321,35 +17459,51 @@ func (s PublicAccess) 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 PublicAccess) GoString() string { +func (s ScanCondition) GoString() string { return s.String() } -// SetEffectivePermission sets the EffectivePermission field's value. -func (s *PublicAccess) SetEffectivePermission(v string) *PublicAccess { - s.EffectivePermission = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *ScanCondition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ScanCondition"} + if s.MapEquals == nil { + invalidParams.Add(request.NewErrParamRequired("MapEquals")) + } + if s.MapEquals != nil { + for i, v := range s.MapEquals { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MapEquals", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetPermissionConfiguration sets the PermissionConfiguration field's value. -func (s *PublicAccess) SetPermissionConfiguration(v *PermissionConfiguration) *PublicAccess { - s.PermissionConfiguration = v +// SetMapEquals sets the MapEquals field's value. +func (s *ScanCondition) SetMapEquals(v []*ScanConditionPair) *ScanCondition { + s.MapEquals = v return s } -// Contains details about the remote Amazon Web Services account that made the -// API call. -type RemoteAccountDetails struct { +// Represents key, value pair to be matched against given resource property. +type ScanConditionPair struct { _ struct{} `type:"structure"` - // The Amazon Web Services account ID of the remote API caller. - AccountId *string `locationName:"accountId" type:"string"` + // Represents key in the map condition. + // + // Key is a required field + Key *string `locationName:"key" min:"1" type:"string" required:"true"` - // Details on whether the Amazon Web Services account of the remote API caller - // is related to your GuardDuty environment. If this value is True the API caller - // is affiliated to your account in some way. If it is False the API caller - // is from outside your environment. - Affiliated *bool `locationName:"affiliated" type:"boolean"` + // Represents optional value in the map condition. If not specified, only key + // will be matched. + Value *string `locationName:"value" type:"string"` } // String returns the string representation. @@ -15357,7 +17511,7 @@ type RemoteAccountDetails 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 RemoteAccountDetails) String() string { +func (s ScanConditionPair) String() string { return awsutil.Prettify(s) } @@ -15366,40 +17520,54 @@ func (s RemoteAccountDetails) 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 RemoteAccountDetails) GoString() string { +func (s ScanConditionPair) GoString() string { return s.String() } -// SetAccountId sets the AccountId field's value. -func (s *RemoteAccountDetails) SetAccountId(v string) *RemoteAccountDetails { - s.AccountId = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *ScanConditionPair) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ScanConditionPair"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *ScanConditionPair) SetKey(v string) *ScanConditionPair { + s.Key = &v return s } -// SetAffiliated sets the Affiliated field's value. -func (s *RemoteAccountDetails) SetAffiliated(v bool) *RemoteAccountDetails { - s.Affiliated = &v +// SetValue sets the Value field's value. +func (s *ScanConditionPair) SetValue(v string) *ScanConditionPair { + s.Value = &v return s } -// Contains information about the remote IP address of the connection. -type RemoteIpDetails struct { +// Contains a complete view providing malware scan result details. +type ScanDetections struct { _ struct{} `type:"structure"` - // The city information of the remote IP address. - City *City `locationName:"city" type:"structure"` - - // The country code of the remote IP address. - Country *Country `locationName:"country" type:"structure"` + // Details of the highest severity threat detected during malware scan and number + // of infected files. + HighestSeverityThreatDetails *HighestSeverityThreatDetails `locationName:"highestSeverityThreatDetails" type:"structure"` - // The location information of the remote IP address. - GeoLocation *GeoLocation `locationName:"geoLocation" type:"structure"` + // Total number of scanned files. + ScannedItemCount *ScannedItemCount `locationName:"scannedItemCount" type:"structure"` - // The IPv4 remote address of the connection. - IpAddressV4 *string `locationName:"ipAddressV4" type:"string"` + // Contains details about identified threats organized by threat name. + ThreatDetectedByName *ThreatDetectedByName `locationName:"threatDetectedByName" type:"structure"` - // The ISP organization information of the remote IP address. - Organization *Organization `locationName:"organization" type:"structure"` + // Total number of infected files. + ThreatsDetectedItemCount *ThreatsDetectedItemCount `locationName:"threatsDetectedItemCount" type:"structure"` } // String returns the string representation. @@ -15407,7 +17575,7 @@ type RemoteIpDetails 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 RemoteIpDetails) String() string { +func (s ScanDetections) String() string { return awsutil.Prettify(s) } @@ -15416,49 +17584,41 @@ func (s RemoteIpDetails) 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 RemoteIpDetails) GoString() string { +func (s ScanDetections) GoString() string { return s.String() } -// SetCity sets the City field's value. -func (s *RemoteIpDetails) SetCity(v *City) *RemoteIpDetails { - s.City = v - return s -} - -// SetCountry sets the Country field's value. -func (s *RemoteIpDetails) SetCountry(v *Country) *RemoteIpDetails { - s.Country = v +// SetHighestSeverityThreatDetails sets the HighestSeverityThreatDetails field's value. +func (s *ScanDetections) SetHighestSeverityThreatDetails(v *HighestSeverityThreatDetails) *ScanDetections { + s.HighestSeverityThreatDetails = v return s } -// SetGeoLocation sets the GeoLocation field's value. -func (s *RemoteIpDetails) SetGeoLocation(v *GeoLocation) *RemoteIpDetails { - s.GeoLocation = v +// SetScannedItemCount sets the ScannedItemCount field's value. +func (s *ScanDetections) SetScannedItemCount(v *ScannedItemCount) *ScanDetections { + s.ScannedItemCount = v return s } -// SetIpAddressV4 sets the IpAddressV4 field's value. -func (s *RemoteIpDetails) SetIpAddressV4(v string) *RemoteIpDetails { - s.IpAddressV4 = &v +// SetThreatDetectedByName sets the ThreatDetectedByName field's value. +func (s *ScanDetections) SetThreatDetectedByName(v *ThreatDetectedByName) *ScanDetections { + s.ThreatDetectedByName = v return s } -// SetOrganization sets the Organization field's value. -func (s *RemoteIpDetails) SetOrganization(v *Organization) *RemoteIpDetails { - s.Organization = v +// SetThreatsDetectedItemCount sets the ThreatsDetectedItemCount field's value. +func (s *ScanDetections) SetThreatsDetectedItemCount(v *ThreatsDetectedItemCount) *ScanDetections { + s.ThreatsDetectedItemCount = v return s } -// Contains information about the remote port. -type RemotePortDetails struct { +// Describes whether Malware Protection for EC2 instances with findings will +// be enabled as a data source. +type ScanEc2InstanceWithFindings struct { _ struct{} `type:"structure"` - // The port number of the remote connection. - Port *int64 `locationName:"port" type:"integer"` - - // The port name of the remote connection. - PortName *string `locationName:"portName" type:"string"` + // Describes the configuration for scanning EBS volumes as data source. + EbsVolumes *bool `locationName:"ebsVolumes" type:"boolean"` } // String returns the string representation. @@ -15466,7 +17626,7 @@ type RemotePortDetails 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 RemotePortDetails) String() string { +func (s ScanEc2InstanceWithFindings) String() string { return awsutil.Prettify(s) } @@ -15475,46 +17635,64 @@ func (s RemotePortDetails) 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 RemotePortDetails) GoString() string { +func (s ScanEc2InstanceWithFindings) GoString() string { return s.String() } -// SetPort sets the Port field's value. -func (s *RemotePortDetails) SetPort(v int64) *RemotePortDetails { - s.Port = &v +// SetEbsVolumes sets the EbsVolumes field's value. +func (s *ScanEc2InstanceWithFindings) SetEbsVolumes(v bool) *ScanEc2InstanceWithFindings { + s.EbsVolumes = &v return s } -// SetPortName sets the PortName field's value. -func (s *RemotePortDetails) SetPortName(v string) *RemotePortDetails { - s.PortName = &v - return s +// An object that contains information on the status of whether Malware Protection +// for EC2 instances with findings will be enabled as a data source. +type ScanEc2InstanceWithFindingsResult struct { + _ struct{} `type:"structure"` + + // Describes the configuration of scanning EBS volumes as a data source. + EbsVolumes *EbsVolumesResult `locationName:"ebsVolumes" type:"structure"` } -// Contains information about the Amazon Web Services resource associated with -// the activity that prompted GuardDuty to generate a finding. -type Resource 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 ScanEc2InstanceWithFindingsResult) String() string { + return awsutil.Prettify(s) +} - // The IAM access key details (IAM user information) of a user that engaged - // in the activity that prompted GuardDuty to generate a finding. - AccessKeyDetails *AccessKeyDetails `locationName:"accessKeyDetails" type:"structure"` +// 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 ScanEc2InstanceWithFindingsResult) GoString() string { + return s.String() +} - // Details about the EKS cluster involved in a Kubernetes finding. - EksClusterDetails *EksClusterDetails `locationName:"eksClusterDetails" type:"structure"` +// SetEbsVolumes sets the EbsVolumes field's value. +func (s *ScanEc2InstanceWithFindingsResult) SetEbsVolumes(v *EbsVolumesResult) *ScanEc2InstanceWithFindingsResult { + s.EbsVolumes = v + return s +} - // The information about the EC2 instance associated with the activity that - // prompted GuardDuty to generate a finding. - InstanceDetails *InstanceDetails `locationName:"instanceDetails" type:"structure"` +// Contains details of infected file including name, file path and hash. +type ScanFilePath struct { + _ struct{} `type:"structure"` - // Details about the Kubernetes user and workload involved in a Kubernetes finding. - KubernetesDetails *KubernetesDetails `locationName:"kubernetesDetails" type:"structure"` + // File name of the infected file. + FileName *string `locationName:"fileName" type:"string"` - // The type of Amazon Web Services resource. - ResourceType *string `locationName:"resourceType" type:"string"` + // The file path of the infected file. + FilePath *string `locationName:"filePath" type:"string"` - // Contains information on the S3 bucket. - S3BucketDetails []*S3BucketDetail `locationName:"s3BucketDetails" type:"list"` + // The hash value of the infected file. + Hash *string `locationName:"hash" type:"string"` + + // EBS volume Arn details of the infected file. + VolumeArn *string `locationName:"volumeArn" type:"string"` } // String returns the string representation. @@ -15522,7 +17700,7 @@ type Resource 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 Resource) String() string { +func (s ScanFilePath) String() string { return awsutil.Prettify(s) } @@ -15531,73 +17709,46 @@ func (s Resource) 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 Resource) GoString() string { +func (s ScanFilePath) GoString() string { return s.String() } -// SetAccessKeyDetails sets the AccessKeyDetails field's value. -func (s *Resource) SetAccessKeyDetails(v *AccessKeyDetails) *Resource { - s.AccessKeyDetails = v - return s -} - -// SetEksClusterDetails sets the EksClusterDetails field's value. -func (s *Resource) SetEksClusterDetails(v *EksClusterDetails) *Resource { - s.EksClusterDetails = v - return s -} - -// SetInstanceDetails sets the InstanceDetails field's value. -func (s *Resource) SetInstanceDetails(v *InstanceDetails) *Resource { - s.InstanceDetails = v +// SetFileName sets the FileName field's value. +func (s *ScanFilePath) SetFileName(v string) *ScanFilePath { + s.FileName = &v return s } -// SetKubernetesDetails sets the KubernetesDetails field's value. -func (s *Resource) SetKubernetesDetails(v *KubernetesDetails) *Resource { - s.KubernetesDetails = v +// SetFilePath sets the FilePath field's value. +func (s *ScanFilePath) SetFilePath(v string) *ScanFilePath { + s.FilePath = &v return s } -// SetResourceType sets the ResourceType field's value. -func (s *Resource) SetResourceType(v string) *Resource { - s.ResourceType = &v +// SetHash sets the Hash field's value. +func (s *ScanFilePath) SetHash(v string) *ScanFilePath { + s.Hash = &v return s } -// SetS3BucketDetails sets the S3BucketDetails field's value. -func (s *Resource) SetS3BucketDetails(v []*S3BucketDetail) *Resource { - s.S3BucketDetails = v +// SetVolumeArn sets the VolumeArn field's value. +func (s *ScanFilePath) SetVolumeArn(v string) *ScanFilePath { + s.VolumeArn = &v return s } -// Contains information on the S3 bucket. -type S3BucketDetail struct { +// Contains information about criteria used to filter resources before triggering +// malware scan. +type ScanResourceCriteria struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the S3 bucket. - Arn *string `locationName:"arn" type:"string"` - - // The date and time the bucket was created at. - CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` - - // Describes the server side encryption method used in the S3 bucket. - DefaultServerSideEncryption *DefaultServerSideEncryption `locationName:"defaultServerSideEncryption" type:"structure"` - - // The name of the S3 bucket. - Name *string `locationName:"name" type:"string"` - - // The owner of the S3 bucket. - Owner *Owner `locationName:"owner" type:"structure"` - - // Describes the public access policies that apply to the S3 bucket. - PublicAccess *PublicAccess `locationName:"publicAccess" type:"structure"` - - // All tags attached to the S3 bucket - Tags []*Tag `locationName:"tags" type:"list"` + // Represents condition that when matched will prevent a malware scan for a + // certain resource. + Exclude map[string]*ScanCondition `locationName:"exclude" type:"map"` - // Describes whether the bucket is a source or destination bucket. - Type *string `locationName:"type" type:"string"` + // Represents condition that when matched will allow a malware scan for a certain + // resource. + Include map[string]*ScanCondition `locationName:"include" type:"map"` } // String returns the string representation. @@ -15605,7 +17756,7 @@ type S3BucketDetail 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 S3BucketDetail) String() string { +func (s ScanResourceCriteria) String() string { return awsutil.Prettify(s) } @@ -15614,66 +17765,100 @@ func (s S3BucketDetail) 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 S3BucketDetail) GoString() string { +func (s ScanResourceCriteria) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *S3BucketDetail) SetArn(v string) *S3BucketDetail { - s.Arn = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *ScanResourceCriteria) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ScanResourceCriteria"} + if s.Exclude != nil { + for i, v := range s.Exclude { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Exclude", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Include != nil { + for i, v := range s.Include { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Include", i), err.(request.ErrInvalidParams)) + } + } + } -// SetCreatedAt sets the CreatedAt field's value. -func (s *S3BucketDetail) SetCreatedAt(v time.Time) *S3BucketDetail { - s.CreatedAt = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetDefaultServerSideEncryption sets the DefaultServerSideEncryption field's value. -func (s *S3BucketDetail) SetDefaultServerSideEncryption(v *DefaultServerSideEncryption) *S3BucketDetail { - s.DefaultServerSideEncryption = v +// SetExclude sets the Exclude field's value. +func (s *ScanResourceCriteria) SetExclude(v map[string]*ScanCondition) *ScanResourceCriteria { + s.Exclude = v return s } -// SetName sets the Name field's value. -func (s *S3BucketDetail) SetName(v string) *S3BucketDetail { - s.Name = &v +// SetInclude sets the Include field's value. +func (s *ScanResourceCriteria) SetInclude(v map[string]*ScanCondition) *ScanResourceCriteria { + s.Include = v return s } -// SetOwner sets the Owner field's value. -func (s *S3BucketDetail) SetOwner(v *Owner) *S3BucketDetail { - s.Owner = v - return s +// Represents the result of the scan. +type ScanResultDetails struct { + _ struct{} `type:"structure"` + + // An enum value representing possible scan results. + ScanResult *string `locationName:"scanResult" type:"string" enum:"ScanResult"` } -// SetPublicAccess sets the PublicAccess field's value. -func (s *S3BucketDetail) SetPublicAccess(v *PublicAccess) *S3BucketDetail { - s.PublicAccess = 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 ScanResultDetails) String() string { + return awsutil.Prettify(s) } -// SetTags sets the Tags field's value. -func (s *S3BucketDetail) SetTags(v []*Tag) *S3BucketDetail { - s.Tags = 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 ScanResultDetails) GoString() string { + return s.String() } -// SetType sets the Type field's value. -func (s *S3BucketDetail) SetType(v string) *S3BucketDetail { - s.Type = &v +// SetScanResult sets the ScanResult field's value. +func (s *ScanResultDetails) SetScanResult(v string) *ScanResultDetails { + s.ScanResult = &v return s } -// Describes whether S3 data event logs will be enabled as a data source. -type S3LogsConfiguration struct { +// Contains files infected with the given threat providing details of malware +// name and severity. +type ScanThreatName struct { _ struct{} `type:"structure"` - // The status of S3 data event logs as a data source. - // - // Enable is a required field - Enable *bool `locationName:"enable" type:"boolean" required:"true"` + // List of infected files in EBS volume with details. + FilePaths []*ScanFilePath `locationName:"filePaths" type:"list"` + + // Total number of files infected with given threat. + ItemCount *int64 `locationName:"itemCount" type:"integer"` + + // The name of the identified threat. + Name *string `locationName:"name" type:"string"` + + // Severity of threat identified as part of the malware scan. + Severity *string `locationName:"severity" type:"string"` } // String returns the string representation. @@ -15681,7 +17866,7 @@ type S3LogsConfiguration 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 S3LogsConfiguration) String() string { +func (s ScanThreatName) String() string { return awsutil.Prettify(s) } @@ -15690,38 +17875,46 @@ func (s S3LogsConfiguration) 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 S3LogsConfiguration) GoString() string { +func (s ScanThreatName) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *S3LogsConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "S3LogsConfiguration"} - if s.Enable == nil { - invalidParams.Add(request.NewErrParamRequired("Enable")) - } +// SetFilePaths sets the FilePaths field's value. +func (s *ScanThreatName) SetFilePaths(v []*ScanFilePath) *ScanThreatName { + s.FilePaths = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetItemCount sets the ItemCount field's value. +func (s *ScanThreatName) SetItemCount(v int64) *ScanThreatName { + s.ItemCount = &v + return s } -// SetEnable sets the Enable field's value. -func (s *S3LogsConfiguration) SetEnable(v bool) *S3LogsConfiguration { - s.Enable = &v +// SetName sets the Name field's value. +func (s *ScanThreatName) SetName(v string) *ScanThreatName { + s.Name = &v return s } -// Describes whether S3 data event logs will be enabled as a data source. -type S3LogsConfigurationResult struct { +// SetSeverity sets the Severity field's value. +func (s *ScanThreatName) SetSeverity(v string) *ScanThreatName { + s.Severity = &v + return s +} + +// Total number of scanned files. +type ScannedItemCount struct { _ struct{} `type:"structure"` - // A value that describes whether S3 data event logs are automatically enabled - // for new members of the organization. - // - // Status is a required field - Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"DataSourceStatus"` + // Number of files scanned. + Files *int64 `locationName:"files" type:"integer"` + + // Total GB of files scanned for malware. + TotalGb *int64 `locationName:"totalGb" type:"integer"` + + // Total number of scanned volumes. + Volumes *int64 `locationName:"volumes" type:"integer"` } // String returns the string representation. @@ -15729,7 +17922,7 @@ type S3LogsConfigurationResult 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 S3LogsConfigurationResult) String() string { +func (s ScannedItemCount) String() string { return awsutil.Prettify(s) } @@ -15738,13 +17931,25 @@ func (s S3LogsConfigurationResult) 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 S3LogsConfigurationResult) GoString() string { +func (s ScannedItemCount) GoString() string { return s.String() } -// SetStatus sets the Status field's value. -func (s *S3LogsConfigurationResult) SetStatus(v string) *S3LogsConfigurationResult { - s.Status = &v +// SetFiles sets the Files field's value. +func (s *ScannedItemCount) SetFiles(v int64) *ScannedItemCount { + s.Files = &v + return s +} + +// SetTotalGb sets the TotalGb field's value. +func (s *ScannedItemCount) SetTotalGb(v int64) *ScannedItemCount { + s.TotalGb = &v + return s +} + +// SetVolumes sets the Volumes field's value. +func (s *ScannedItemCount) SetVolumes(v int64) *ScannedItemCount { + s.Volumes = &v return s } @@ -15840,6 +18045,9 @@ type Service struct { // The detector ID for the GuardDuty service. DetectorId *string `locationName:"detectorId" min:"1" type:"string"` + // Returns details from the malware scan that created a finding. + EbsVolumeScanDetails *EbsVolumeScanDetails `locationName:"ebsVolumeScanDetails" type:"structure"` + // The first-seen timestamp of the activity that prompted GuardDuty to generate // this finding. EventFirstSeen *string `locationName:"eventFirstSeen" type:"string"` @@ -15851,6 +18059,9 @@ type Service struct { // An evidence object associated with the service. Evidence *Evidence `locationName:"evidence" type:"structure"` + // The name of the feature that generated a finding. + FeatureName *string `locationName:"featureName" type:"string"` + // The resource role information for this finding. ResourceRole *string `locationName:"resourceRole" type:"string"` @@ -15910,6 +18121,12 @@ func (s *Service) SetDetectorId(v string) *Service { return s } +// SetEbsVolumeScanDetails sets the EbsVolumeScanDetails field's value. +func (s *Service) SetEbsVolumeScanDetails(v *EbsVolumeScanDetails) *Service { + s.EbsVolumeScanDetails = v + return s +} + // SetEventFirstSeen sets the EventFirstSeen field's value. func (s *Service) SetEventFirstSeen(v string) *Service { s.EventFirstSeen = &v @@ -15928,6 +18145,12 @@ func (s *Service) SetEvidence(v *Evidence) *Service { return s } +// SetFeatureName sets the FeatureName field's value. +func (s *Service) SetFeatureName(v string) *Service { + s.FeatureName = &v + return s +} + // SetResourceRole sets the ResourceRole field's value. func (s *Service) SetResourceRole(v string) *Service { s.ResourceRole = &v @@ -16334,14 +18557,51 @@ func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { return s } -// SetTags sets the Tags field's value. -func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { - s.Tags = v - return s +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceOutput) GoString() string { + return s.String() } -type TagResourceOutput struct { +// Contains details about identified threats organized by threat name. +type ThreatDetectedByName struct { _ struct{} `type:"structure"` + + // Total number of infected files identified. + ItemCount *int64 `locationName:"itemCount" type:"integer"` + + // Flag to determine if the finding contains every single infected file-path + // and/or every threat. + Shortened *bool `locationName:"shortened" type:"boolean"` + + // List of identified threats with details, organized by threat name. + ThreatNames []*ScanThreatName `locationName:"threatNames" type:"list"` + + // Total number of unique threats by name identified, as part of the malware + // scan. + UniqueThreatNameCount *int64 `locationName:"uniqueThreatNameCount" type:"integer"` } // String returns the string representation. @@ -16349,7 +18609,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 ThreatDetectedByName) String() string { return awsutil.Prettify(s) } @@ -16358,10 +18618,34 @@ 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 ThreatDetectedByName) GoString() string { return s.String() } +// SetItemCount sets the ItemCount field's value. +func (s *ThreatDetectedByName) SetItemCount(v int64) *ThreatDetectedByName { + s.ItemCount = &v + return s +} + +// SetShortened sets the Shortened field's value. +func (s *ThreatDetectedByName) SetShortened(v bool) *ThreatDetectedByName { + s.Shortened = &v + return s +} + +// SetThreatNames sets the ThreatNames field's value. +func (s *ThreatDetectedByName) SetThreatNames(v []*ScanThreatName) *ThreatDetectedByName { + s.ThreatNames = v + return s +} + +// SetUniqueThreatNameCount sets the UniqueThreatNameCount field's value. +func (s *ThreatDetectedByName) SetUniqueThreatNameCount(v int64) *ThreatDetectedByName { + s.UniqueThreatNameCount = &v + return s +} + // An instance of a threat intelligence detail that constitutes evidence for // the finding. type ThreatIntelligenceDetail struct { @@ -16405,6 +18689,38 @@ func (s *ThreatIntelligenceDetail) SetThreatNames(v []*string) *ThreatIntelligen return s } +// Contains total number of infected files. +type ThreatsDetectedItemCount struct { + _ struct{} `type:"structure"` + + // Total number of infected files. + Files *int64 `locationName:"files" 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 ThreatsDetectedItemCount) 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 ThreatsDetectedItemCount) GoString() string { + return s.String() +} + +// SetFiles sets the Files field's value. +func (s *ThreatsDetectedItemCount) SetFiles(v int64) *ThreatsDetectedItemCount { + s.Files = &v + return s +} + // Contains the total usage with the corresponding currency unit for that value. type Total struct { _ struct{} `type:"structure"` @@ -16446,6 +18762,47 @@ func (s *Total) SetUnit(v string) *Total { return s } +// Represents the reason the scan was triggered. +type TriggerDetails struct { + _ struct{} `type:"structure"` + + // The description of the scan trigger. + Description *string `locationName:"description" min:"1" type:"string"` + + // The ID of the GuardDuty finding that triggered the BirdDog scan. + GuardDutyFindingId *string `locationName:"guardDutyFindingId" 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 TriggerDetails) 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 TriggerDetails) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *TriggerDetails) SetDescription(v string) *TriggerDetails { + s.Description = &v + return s +} + +// SetGuardDutyFindingId sets the GuardDutyFindingId field's value. +func (s *TriggerDetails) SetGuardDutyFindingId(v string) *TriggerDetails { + s.GuardDutyFindingId = &v + return s +} + type UnarchiveFindingsInput struct { _ struct{} `type:"structure"` @@ -17142,6 +19499,102 @@ func (s UpdateIPSetOutput) GoString() string { return s.String() } +type UpdateMalwareScanSettingsInput struct { + _ struct{} `type:"structure"` + + // The unique ID of the detector that specifies the GuardDuty service where + // you want to update scan settings. + // + // DetectorId is a required field + DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` + + // An enum value representing possible snapshot preservations. + EbsSnapshotPreservation *string `locationName:"ebsSnapshotPreservation" type:"string" enum:"EbsSnapshotPreservation"` + + // Represents the criteria to be used in the filter for selecting resources + // to scan. + ScanResourceCriteria *ScanResourceCriteria `locationName:"scanResourceCriteria" 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 UpdateMalwareScanSettingsInput) 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 UpdateMalwareScanSettingsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateMalwareScanSettingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateMalwareScanSettingsInput"} + if s.DetectorId == nil { + invalidParams.Add(request.NewErrParamRequired("DetectorId")) + } + if s.DetectorId != nil && len(*s.DetectorId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1)) + } + if s.ScanResourceCriteria != nil { + if err := s.ScanResourceCriteria.Validate(); err != nil { + invalidParams.AddNested("ScanResourceCriteria", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDetectorId sets the DetectorId field's value. +func (s *UpdateMalwareScanSettingsInput) SetDetectorId(v string) *UpdateMalwareScanSettingsInput { + s.DetectorId = &v + return s +} + +// SetEbsSnapshotPreservation sets the EbsSnapshotPreservation field's value. +func (s *UpdateMalwareScanSettingsInput) SetEbsSnapshotPreservation(v string) *UpdateMalwareScanSettingsInput { + s.EbsSnapshotPreservation = &v + return s +} + +// SetScanResourceCriteria sets the ScanResourceCriteria field's value. +func (s *UpdateMalwareScanSettingsInput) SetScanResourceCriteria(v *ScanResourceCriteria) *UpdateMalwareScanSettingsInput { + s.ScanResourceCriteria = v + return s +} + +type UpdateMalwareScanSettingsOutput 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 UpdateMalwareScanSettingsOutput) 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 UpdateMalwareScanSettingsOutput) GoString() string { + return s.String() +} + type UpdateMemberDetectorsInput struct { _ struct{} `type:"structure"` @@ -17872,6 +20325,92 @@ func (s *Volume) SetName(v string) *Volume { return s } +// Contains EBS volume details. +type VolumeDetail struct { + _ struct{} `type:"structure"` + + // The device name for the EBS volume. + DeviceName *string `locationName:"deviceName" type:"string"` + + // EBS volume encryption type. + EncryptionType *string `locationName:"encryptionType" type:"string"` + + // KMS key Arn used to encrypt the EBS volume. + KmsKeyArn *string `locationName:"kmsKeyArn" type:"string"` + + // Snapshot Arn of the EBS volume. + SnapshotArn *string `locationName:"snapshotArn" type:"string"` + + // EBS volume Arn information. + VolumeArn *string `locationName:"volumeArn" type:"string"` + + // EBS volume size in GB. + VolumeSizeInGB *int64 `locationName:"volumeSizeInGB" type:"integer"` + + // The EBS volume type. + VolumeType *string `locationName:"volumeType" 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 VolumeDetail) 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 VolumeDetail) GoString() string { + return s.String() +} + +// SetDeviceName sets the DeviceName field's value. +func (s *VolumeDetail) SetDeviceName(v string) *VolumeDetail { + s.DeviceName = &v + return s +} + +// SetEncryptionType sets the EncryptionType field's value. +func (s *VolumeDetail) SetEncryptionType(v string) *VolumeDetail { + s.EncryptionType = &v + return s +} + +// SetKmsKeyArn sets the KmsKeyArn field's value. +func (s *VolumeDetail) SetKmsKeyArn(v string) *VolumeDetail { + s.KmsKeyArn = &v + return s +} + +// SetSnapshotArn sets the SnapshotArn field's value. +func (s *VolumeDetail) SetSnapshotArn(v string) *VolumeDetail { + s.SnapshotArn = &v + return s +} + +// SetVolumeArn sets the VolumeArn field's value. +func (s *VolumeDetail) SetVolumeArn(v string) *VolumeDetail { + s.VolumeArn = &v + return s +} + +// SetVolumeSizeInGB sets the VolumeSizeInGB field's value. +func (s *VolumeDetail) SetVolumeSizeInGB(v int64) *VolumeDetail { + s.VolumeSizeInGB = &v + return s +} + +// SetVolumeType sets the VolumeType field's value. +func (s *VolumeDetail) SetVolumeType(v string) *VolumeDetail { + s.VolumeType = &v + return s +} + // Container volume mount. type VolumeMount struct { _ struct{} `type:"structure"` @@ -17929,6 +20468,38 @@ func AdminStatus_Values() []string { } } +const ( + // CriterionKeyEc2InstanceArn is a CriterionKey enum value + CriterionKeyEc2InstanceArn = "EC2_INSTANCE_ARN" + + // CriterionKeyScanId is a CriterionKey enum value + CriterionKeyScanId = "SCAN_ID" + + // CriterionKeyAccountId is a CriterionKey enum value + CriterionKeyAccountId = "ACCOUNT_ID" + + // CriterionKeyGuarddutyFindingId is a CriterionKey enum value + CriterionKeyGuarddutyFindingId = "GUARDDUTY_FINDING_ID" + + // CriterionKeyScanStartTime is a CriterionKey enum value + CriterionKeyScanStartTime = "SCAN_START_TIME" + + // CriterionKeyScanStatus is a CriterionKey enum value + CriterionKeyScanStatus = "SCAN_STATUS" +) + +// CriterionKey_Values returns all elements of the CriterionKey enum +func CriterionKey_Values() []string { + return []string{ + CriterionKeyEc2InstanceArn, + CriterionKeyScanId, + CriterionKeyAccountId, + CriterionKeyGuarddutyFindingId, + CriterionKeyScanStartTime, + CriterionKeyScanStatus, + } +} + const ( // DataSourceFlowLogs is a DataSource enum value DataSourceFlowLogs = "FLOW_LOGS" @@ -17944,6 +20515,9 @@ const ( // DataSourceKubernetesAuditLogs is a DataSource enum value DataSourceKubernetesAuditLogs = "KUBERNETES_AUDIT_LOGS" + + // DataSourceEc2MalwareScan is a DataSource enum value + DataSourceEc2MalwareScan = "EC2_MALWARE_SCAN" ) // DataSource_Values returns all elements of the DataSource enum @@ -17954,6 +20528,7 @@ func DataSource_Values() []string { DataSourceDnsLogs, DataSourceS3Logs, DataSourceKubernetesAuditLogs, + DataSourceEc2MalwareScan, } } @@ -18001,6 +20576,22 @@ func DetectorStatus_Values() []string { } } +const ( + // EbsSnapshotPreservationNoRetention is a EbsSnapshotPreservation enum value + EbsSnapshotPreservationNoRetention = "NO_RETENTION" + + // EbsSnapshotPreservationRetentionWithFinding is a EbsSnapshotPreservation enum value + EbsSnapshotPreservationRetentionWithFinding = "RETENTION_WITH_FINDING" +) + +// EbsSnapshotPreservation_Values returns all elements of the EbsSnapshotPreservation enum +func EbsSnapshotPreservation_Values() []string { + return []string{ + EbsSnapshotPreservationNoRetention, + EbsSnapshotPreservationRetentionWithFinding, + } +} + const ( // FeedbackUseful is a Feedback enum value FeedbackUseful = "USEFUL" @@ -18173,6 +20764,56 @@ func PublishingStatus_Values() []string { } } +// An enum value representing possible resource properties to match with given +// scan condition. +const ( + // ScanCriterionKeyEc2InstanceTag is a ScanCriterionKey enum value + ScanCriterionKeyEc2InstanceTag = "EC2_INSTANCE_TAG" +) + +// ScanCriterionKey_Values returns all elements of the ScanCriterionKey enum +func ScanCriterionKey_Values() []string { + return []string{ + ScanCriterionKeyEc2InstanceTag, + } +} + +const ( + // ScanResultClean is a ScanResult enum value + ScanResultClean = "CLEAN" + + // ScanResultInfected is a ScanResult enum value + ScanResultInfected = "INFECTED" +) + +// ScanResult_Values returns all elements of the ScanResult enum +func ScanResult_Values() []string { + return []string{ + ScanResultClean, + ScanResultInfected, + } +} + +const ( + // ScanStatusRunning is a ScanStatus enum value + ScanStatusRunning = "RUNNING" + + // ScanStatusCompleted is a ScanStatus enum value + ScanStatusCompleted = "COMPLETED" + + // ScanStatusFailed is a ScanStatus enum value + ScanStatusFailed = "FAILED" +) + +// ScanStatus_Values returns all elements of the ScanStatus enum +func ScanStatus_Values() []string { + return []string{ + ScanStatusRunning, + ScanStatusCompleted, + ScanStatusFailed, + } +} + const ( // ThreatIntelSetFormatTxt is a ThreatIntelSetFormat enum value ThreatIntelSetFormatTxt = "TXT" diff --git a/service/guardduty/guarddutyiface/interface.go b/service/guardduty/guarddutyiface/interface.go index 5b4e0821f7a..ab2ec87e715 100644 --- a/service/guardduty/guarddutyiface/interface.go +++ b/service/guardduty/guarddutyiface/interface.go @@ -132,6 +132,13 @@ type GuardDutyAPI interface { DeleteThreatIntelSetWithContext(aws.Context, *guardduty.DeleteThreatIntelSetInput, ...request.Option) (*guardduty.DeleteThreatIntelSetOutput, error) DeleteThreatIntelSetRequest(*guardduty.DeleteThreatIntelSetInput) (*request.Request, *guardduty.DeleteThreatIntelSetOutput) + DescribeMalwareScans(*guardduty.DescribeMalwareScansInput) (*guardduty.DescribeMalwareScansOutput, error) + DescribeMalwareScansWithContext(aws.Context, *guardduty.DescribeMalwareScansInput, ...request.Option) (*guardduty.DescribeMalwareScansOutput, error) + DescribeMalwareScansRequest(*guardduty.DescribeMalwareScansInput) (*request.Request, *guardduty.DescribeMalwareScansOutput) + + DescribeMalwareScansPages(*guardduty.DescribeMalwareScansInput, func(*guardduty.DescribeMalwareScansOutput, bool) bool) error + DescribeMalwareScansPagesWithContext(aws.Context, *guardduty.DescribeMalwareScansInput, func(*guardduty.DescribeMalwareScansOutput, bool) bool, ...request.Option) error + DescribeOrganizationConfiguration(*guardduty.DescribeOrganizationConfigurationInput) (*guardduty.DescribeOrganizationConfigurationOutput, error) DescribeOrganizationConfigurationWithContext(aws.Context, *guardduty.DescribeOrganizationConfigurationInput, ...request.Option) (*guardduty.DescribeOrganizationConfigurationOutput, error) DescribeOrganizationConfigurationRequest(*guardduty.DescribeOrganizationConfigurationInput) (*request.Request, *guardduty.DescribeOrganizationConfigurationOutput) @@ -188,6 +195,10 @@ type GuardDutyAPI interface { GetInvitationsCountWithContext(aws.Context, *guardduty.GetInvitationsCountInput, ...request.Option) (*guardduty.GetInvitationsCountOutput, error) GetInvitationsCountRequest(*guardduty.GetInvitationsCountInput) (*request.Request, *guardduty.GetInvitationsCountOutput) + GetMalwareScanSettings(*guardduty.GetMalwareScanSettingsInput) (*guardduty.GetMalwareScanSettingsOutput, error) + GetMalwareScanSettingsWithContext(aws.Context, *guardduty.GetMalwareScanSettingsInput, ...request.Option) (*guardduty.GetMalwareScanSettingsOutput, error) + GetMalwareScanSettingsRequest(*guardduty.GetMalwareScanSettingsInput) (*request.Request, *guardduty.GetMalwareScanSettingsOutput) + GetMasterAccount(*guardduty.GetMasterAccountInput) (*guardduty.GetMasterAccountOutput, error) GetMasterAccountWithContext(aws.Context, *guardduty.GetMasterAccountInput, ...request.Option) (*guardduty.GetMasterAccountOutput, error) GetMasterAccountRequest(*guardduty.GetMasterAccountInput) (*request.Request, *guardduty.GetMasterAccountOutput) @@ -322,6 +333,10 @@ type GuardDutyAPI interface { UpdateIPSetWithContext(aws.Context, *guardduty.UpdateIPSetInput, ...request.Option) (*guardduty.UpdateIPSetOutput, error) UpdateIPSetRequest(*guardduty.UpdateIPSetInput) (*request.Request, *guardduty.UpdateIPSetOutput) + UpdateMalwareScanSettings(*guardduty.UpdateMalwareScanSettingsInput) (*guardduty.UpdateMalwareScanSettingsOutput, error) + UpdateMalwareScanSettingsWithContext(aws.Context, *guardduty.UpdateMalwareScanSettingsInput, ...request.Option) (*guardduty.UpdateMalwareScanSettingsOutput, error) + UpdateMalwareScanSettingsRequest(*guardduty.UpdateMalwareScanSettingsInput) (*request.Request, *guardduty.UpdateMalwareScanSettingsOutput) + UpdateMemberDetectors(*guardduty.UpdateMemberDetectorsInput) (*guardduty.UpdateMemberDetectorsOutput, error) UpdateMemberDetectorsWithContext(aws.Context, *guardduty.UpdateMemberDetectorsInput, ...request.Option) (*guardduty.UpdateMemberDetectorsOutput, error) UpdateMemberDetectorsRequest(*guardduty.UpdateMemberDetectorsInput) (*request.Request, *guardduty.UpdateMemberDetectorsOutput) diff --git a/service/lookoutforvision/api.go b/service/lookoutforvision/api.go index 0160c00a368..6167d3d938c 100644 --- a/service/lookoutforvision/api.go +++ b/service/lookoutforvision/api.go @@ -1700,7 +1700,8 @@ func (c *LookoutForVision) ListProjectsRequest(input *ListProjectsInput) (req *r // ListProjects API operation for Amazon Lookout for Vision. // -// Lists the Amazon Lookout for Vision projects in your AWS account. +// Lists the Amazon Lookout for Vision projects in your AWS account that are +// in the AWS Region in which you call ListProjects. // // The ListProjects operation is eventually consistent. Recent calls to CreateProject // and DeleteProject might take a while to appear in the response from ListProjects. @@ -5354,6 +5355,14 @@ type ModelDescription struct { // to encrypt the model during training. KmsKeyId *string `min:"1" type:"string"` + // The maximum number of inference units Amazon Lookout for Vision uses to auto-scale + // the model. For more information, see StartModel. + MaxInferenceUnits *int64 `min:"1" type:"integer"` + + // The minimum number of inference units used by the model. For more information, + // see StartModel + MinInferenceUnits *int64 `min:"1" type:"integer"` + // The Amazon Resource Name (ARN) of the model. ModelArn *string `type:"string"` @@ -5427,6 +5436,18 @@ func (s *ModelDescription) SetKmsKeyId(v string) *ModelDescription { return s } +// SetMaxInferenceUnits sets the MaxInferenceUnits field's value. +func (s *ModelDescription) SetMaxInferenceUnits(v int64) *ModelDescription { + s.MaxInferenceUnits = &v + return s +} + +// SetMinInferenceUnits sets the MinInferenceUnits field's value. +func (s *ModelDescription) SetMinInferenceUnits(v int64) *ModelDescription { + s.MinInferenceUnits = &v + return s +} + // SetModelArn sets the ModelArn field's value. func (s *ModelDescription) SetModelArn(v string) *ModelDescription { s.ModelArn = &v @@ -6364,6 +6385,11 @@ type StartModelInput struct { // call to StartModel. An idempotency token is active for 8 hours. ClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" min:"1" type:"string" idempotencyToken:"true"` + // The maximum number of inference units to use for auto-scaling the model. + // If you don't specify a value, Amazon Lookout for Vision doesn't auto-scale + // the model. + MaxInferenceUnits *int64 `min:"1" type:"integer"` + // The minimum number of inference units to use. A single inference unit represents // 1 hour of processing. Use a higher number to increase the TPS throughput // of your model. You are charged for the number of inference units that you @@ -6407,6 +6433,9 @@ func (s *StartModelInput) Validate() error { if s.ClientToken != nil && len(*s.ClientToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) } + if s.MaxInferenceUnits != nil && *s.MaxInferenceUnits < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxInferenceUnits", 1)) + } if s.MinInferenceUnits == nil { invalidParams.Add(request.NewErrParamRequired("MinInferenceUnits")) } @@ -6438,6 +6467,12 @@ func (s *StartModelInput) SetClientToken(v string) *StartModelInput { return s } +// SetMaxInferenceUnits sets the MaxInferenceUnits field's value. +func (s *StartModelInput) SetMaxInferenceUnits(v int64) *StartModelInput { + s.MaxInferenceUnits = &v + return s +} + // SetMinInferenceUnits sets the MinInferenceUnits field's value. func (s *StartModelInput) SetMinInferenceUnits(v int64) *StartModelInput { s.MinInferenceUnits = &v diff --git a/service/macie2/api.go b/service/macie2/api.go index c01761b94bb..46af0916787 100644 --- a/service/macie2/api.go +++ b/service/macie2/api.go @@ -3743,6 +3743,292 @@ func (c *Macie2) GetMemberWithContext(ctx aws.Context, input *GetMemberInput, op return out, req.Send() } +const opGetRevealConfiguration = "GetRevealConfiguration" + +// GetRevealConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the GetRevealConfiguration 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 GetRevealConfiguration for more information on using the GetRevealConfiguration +// 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 GetRevealConfigurationRequest method. +// req, resp := client.GetRevealConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetRevealConfiguration +func (c *Macie2) GetRevealConfigurationRequest(input *GetRevealConfigurationInput) (req *request.Request, output *GetRevealConfigurationOutput) { + op := &request.Operation{ + Name: opGetRevealConfiguration, + HTTPMethod: "GET", + HTTPPath: "/reveal-configuration", + } + + if input == nil { + input = &GetRevealConfigurationInput{} + } + + output = &GetRevealConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetRevealConfiguration API operation for Amazon Macie 2. +// +// Retrieves the status and configuration settings for retrieving (revealing) +// occurrences of sensitive data reported by findings. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Macie 2's +// API operation GetRevealConfiguration for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// Provides information about an error that occurred because too many requests +// were sent during a certain amount of time. +// +// * ValidationException +// Provides information about an error that occurred due to a syntax error in +// a request. +// +// * InternalServerException +// Provides information about an error that occurred due to an unknown internal +// server error, exception, or failure. +// +// * AccessDeniedException +// Provides information about an error that occurred due to insufficient access +// to a specified resource. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetRevealConfiguration +func (c *Macie2) GetRevealConfiguration(input *GetRevealConfigurationInput) (*GetRevealConfigurationOutput, error) { + req, out := c.GetRevealConfigurationRequest(input) + return out, req.Send() +} + +// GetRevealConfigurationWithContext is the same as GetRevealConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See GetRevealConfiguration 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 *Macie2) GetRevealConfigurationWithContext(ctx aws.Context, input *GetRevealConfigurationInput, opts ...request.Option) (*GetRevealConfigurationOutput, error) { + req, out := c.GetRevealConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetSensitiveDataOccurrences = "GetSensitiveDataOccurrences" + +// GetSensitiveDataOccurrencesRequest generates a "aws/request.Request" representing the +// client's request for the GetSensitiveDataOccurrences 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 GetSensitiveDataOccurrences for more information on using the GetSensitiveDataOccurrences +// 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 GetSensitiveDataOccurrencesRequest method. +// req, resp := client.GetSensitiveDataOccurrencesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetSensitiveDataOccurrences +func (c *Macie2) GetSensitiveDataOccurrencesRequest(input *GetSensitiveDataOccurrencesInput) (req *request.Request, output *GetSensitiveDataOccurrencesOutput) { + op := &request.Operation{ + Name: opGetSensitiveDataOccurrences, + HTTPMethod: "GET", + HTTPPath: "/findings/{findingId}/reveal", + } + + if input == nil { + input = &GetSensitiveDataOccurrencesInput{} + } + + output = &GetSensitiveDataOccurrencesOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetSensitiveDataOccurrences API operation for Amazon Macie 2. +// +// Retrieves (reveals) occurrences of sensitive data reported by a finding. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Macie 2's +// API operation GetSensitiveDataOccurrences for usage and error information. +// +// Returned Error Types: +// * UnprocessableEntityException +// Provides information about an error that occurred due to an unprocessable +// entity. +// +// * InternalServerException +// Provides information about an error that occurred due to an unknown internal +// server error, exception, or failure. +// +// * ServiceQuotaExceededException +// Provides information about an error that occurred due to one or more service +// quotas for an account. +// +// * AccessDeniedException +// Provides information about an error that occurred due to insufficient access +// to a specified resource. +// +// * ResourceNotFoundException +// Provides information about an error that occurred because a specified resource +// wasn't found. +// +// * ThrottlingException +// Provides information about an error that occurred because too many requests +// were sent during a certain amount of time. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetSensitiveDataOccurrences +func (c *Macie2) GetSensitiveDataOccurrences(input *GetSensitiveDataOccurrencesInput) (*GetSensitiveDataOccurrencesOutput, error) { + req, out := c.GetSensitiveDataOccurrencesRequest(input) + return out, req.Send() +} + +// GetSensitiveDataOccurrencesWithContext is the same as GetSensitiveDataOccurrences with the addition of +// the ability to pass a context and additional request options. +// +// See GetSensitiveDataOccurrences 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 *Macie2) GetSensitiveDataOccurrencesWithContext(ctx aws.Context, input *GetSensitiveDataOccurrencesInput, opts ...request.Option) (*GetSensitiveDataOccurrencesOutput, error) { + req, out := c.GetSensitiveDataOccurrencesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetSensitiveDataOccurrencesAvailability = "GetSensitiveDataOccurrencesAvailability" + +// GetSensitiveDataOccurrencesAvailabilityRequest generates a "aws/request.Request" representing the +// client's request for the GetSensitiveDataOccurrencesAvailability 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 GetSensitiveDataOccurrencesAvailability for more information on using the GetSensitiveDataOccurrencesAvailability +// 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 GetSensitiveDataOccurrencesAvailabilityRequest method. +// req, resp := client.GetSensitiveDataOccurrencesAvailabilityRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetSensitiveDataOccurrencesAvailability +func (c *Macie2) GetSensitiveDataOccurrencesAvailabilityRequest(input *GetSensitiveDataOccurrencesAvailabilityInput) (req *request.Request, output *GetSensitiveDataOccurrencesAvailabilityOutput) { + op := &request.Operation{ + Name: opGetSensitiveDataOccurrencesAvailability, + HTTPMethod: "GET", + HTTPPath: "/findings/{findingId}/reveal/availability", + } + + if input == nil { + input = &GetSensitiveDataOccurrencesAvailabilityInput{} + } + + output = &GetSensitiveDataOccurrencesAvailabilityOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetSensitiveDataOccurrencesAvailability API operation for Amazon Macie 2. +// +// Checks whether occurrences of sensitive data can be retrieved (revealed) +// for a finding. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Macie 2's +// API operation GetSensitiveDataOccurrencesAvailability for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// Provides information about an error that occurred because a specified resource +// wasn't found. +// +// * ThrottlingException +// Provides information about an error that occurred because too many requests +// were sent during a certain amount of time. +// +// * InternalServerException +// Provides information about an error that occurred due to an unknown internal +// server error, exception, or failure. +// +// * AccessDeniedException +// Provides information about an error that occurred due to insufficient access +// to a specified resource. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetSensitiveDataOccurrencesAvailability +func (c *Macie2) GetSensitiveDataOccurrencesAvailability(input *GetSensitiveDataOccurrencesAvailabilityInput) (*GetSensitiveDataOccurrencesAvailabilityOutput, error) { + req, out := c.GetSensitiveDataOccurrencesAvailabilityRequest(input) + return out, req.Send() +} + +// GetSensitiveDataOccurrencesAvailabilityWithContext is the same as GetSensitiveDataOccurrencesAvailability with the addition of +// the ability to pass a context and additional request options. +// +// See GetSensitiveDataOccurrencesAvailability 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 *Macie2) GetSensitiveDataOccurrencesAvailabilityWithContext(ctx aws.Context, input *GetSensitiveDataOccurrencesAvailabilityInput, opts ...request.Option) (*GetSensitiveDataOccurrencesAvailabilityOutput, error) { + req, out := c.GetSensitiveDataOccurrencesAvailabilityRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetUsageStatistics = "GetUsageStatistics" // GetUsageStatisticsRequest generates a "aws/request.Request" representing the @@ -6437,17 +6723,110 @@ func (c *Macie2) UpdateOrganizationConfiguration(input *UpdateOrganizationConfig return out, req.Send() } -// UpdateOrganizationConfigurationWithContext is the same as UpdateOrganizationConfiguration with the addition of +// UpdateOrganizationConfigurationWithContext is the same as UpdateOrganizationConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateOrganizationConfiguration 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 *Macie2) UpdateOrganizationConfigurationWithContext(ctx aws.Context, input *UpdateOrganizationConfigurationInput, opts ...request.Option) (*UpdateOrganizationConfigurationOutput, error) { + req, out := c.UpdateOrganizationConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateRevealConfiguration = "UpdateRevealConfiguration" + +// UpdateRevealConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateRevealConfiguration 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 UpdateRevealConfiguration for more information on using the UpdateRevealConfiguration +// 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 UpdateRevealConfigurationRequest method. +// req, resp := client.UpdateRevealConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/UpdateRevealConfiguration +func (c *Macie2) UpdateRevealConfigurationRequest(input *UpdateRevealConfigurationInput) (req *request.Request, output *UpdateRevealConfigurationOutput) { + op := &request.Operation{ + Name: opUpdateRevealConfiguration, + HTTPMethod: "PUT", + HTTPPath: "/reveal-configuration", + } + + if input == nil { + input = &UpdateRevealConfigurationInput{} + } + + output = &UpdateRevealConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateRevealConfiguration API operation for Amazon Macie 2. +// +// Updates the status and configuration settings for retrieving (revealing) +// occurrences of sensitive data reported by findings. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Macie 2's +// API operation UpdateRevealConfiguration for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// Provides information about an error that occurred because too many requests +// were sent during a certain amount of time. +// +// * ValidationException +// Provides information about an error that occurred due to a syntax error in +// a request. +// +// * InternalServerException +// Provides information about an error that occurred due to an unknown internal +// server error, exception, or failure. +// +// * AccessDeniedException +// Provides information about an error that occurred due to insufficient access +// to a specified resource. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/UpdateRevealConfiguration +func (c *Macie2) UpdateRevealConfiguration(input *UpdateRevealConfigurationInput) (*UpdateRevealConfigurationOutput, error) { + req, out := c.UpdateRevealConfigurationRequest(input) + return out, req.Send() +} + +// UpdateRevealConfigurationWithContext is the same as UpdateRevealConfiguration with the addition of // the ability to pass a context and additional request options. // -// See UpdateOrganizationConfiguration for details on how to use this API operation. +// See UpdateRevealConfiguration 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 *Macie2) UpdateOrganizationConfigurationWithContext(ctx aws.Context, input *UpdateOrganizationConfigurationInput, opts ...request.Option) (*UpdateOrganizationConfigurationOutput, error) { - req, out := c.UpdateOrganizationConfigurationRequest(input) +func (c *Macie2) UpdateRevealConfigurationWithContext(ctx aws.Context, input *UpdateRevealConfigurationInput, opts ...request.Option) (*UpdateRevealConfigurationOutput, error) { + req, out := c.UpdateRevealConfigurationRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() @@ -9405,7 +9784,9 @@ type CustomDetection struct { // Specifies the location of 1-15 occurrences of sensitive data that was detected // by a managed data identifier or a custom data identifier and produced a sensitive - // data finding. + // data finding. Depending on the file or storage format of the affected S3 + // object, you can optionally retrieve (reveal) sample occurrences of the sensitive + // data that was detected. Occurrences *Occurrences `locationName:"occurrences" type:"structure"` } @@ -9562,7 +9943,9 @@ type DefaultDetection struct { // Specifies the location of 1-15 occurrences of sensitive data that was detected // by a managed data identifier or a custom data identifier and produced a sensitive - // data finding. + // data finding. Depending on the file or storage format of the affected S3 + // object, you can optionally retrieve (reveal) sample occurrences of the sensitive + // data that was detected. Occurrences *Occurrences `locationName:"occurrences" type:"structure"` Type *string `locationName:"type" type:"string"` @@ -10309,6 +10692,39 @@ func (s *DescribeOrganizationConfigurationOutput) SetMaxAccountLimitReached(v bo return s } +// Specifies 1-10 occurrences of a specific type of sensitive data reported +// by a finding. +type DetectedDataDetails struct { + _ struct{} `type:"structure"` + + // Value is a required field + Value *string `locationName:"value" 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 DetectedDataDetails) 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 DetectedDataDetails) GoString() string { + return s.String() +} + +// SetValue sets the Value field's value. +func (s *DetectedDataDetails) SetValue(v string) *DetectedDataDetails { + s.Value = &v + return s +} + type DisableMacieInput struct { _ struct{} `type:"structure" nopayload:"true"` } @@ -12390,16 +12806,301 @@ type GetMemberOutput struct { MasterAccountId *string `locationName:"masterAccountId" type:"string"` - // The current status of the relationship between an account and an associated - // Amazon Macie administrator account. Possible values are: - RelationshipStatus *string `locationName:"relationshipStatus" type:"string" enum:"RelationshipStatus"` + // The current status of the relationship between an account and an associated + // Amazon Macie administrator account. Possible values are: + RelationshipStatus *string `locationName:"relationshipStatus" type:"string" enum:"RelationshipStatus"` + + // A string-to-string map of key-value pairs that specifies the tags (keys and + // values) for a classification job, custom data identifier, findings filter, + // or member account. + Tags map[string]*string `locationName:"tags" type:"map"` + + UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" timestampFormat:"iso8601"` +} + +// 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 GetMemberOutput) 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 GetMemberOutput) GoString() string { + return s.String() +} + +// SetAccountId sets the AccountId field's value. +func (s *GetMemberOutput) SetAccountId(v string) *GetMemberOutput { + s.AccountId = &v + return s +} + +// SetAdministratorAccountId sets the AdministratorAccountId field's value. +func (s *GetMemberOutput) SetAdministratorAccountId(v string) *GetMemberOutput { + s.AdministratorAccountId = &v + return s +} + +// SetArn sets the Arn field's value. +func (s *GetMemberOutput) SetArn(v string) *GetMemberOutput { + s.Arn = &v + return s +} + +// SetEmail sets the Email field's value. +func (s *GetMemberOutput) SetEmail(v string) *GetMemberOutput { + s.Email = &v + return s +} + +// SetInvitedAt sets the InvitedAt field's value. +func (s *GetMemberOutput) SetInvitedAt(v time.Time) *GetMemberOutput { + s.InvitedAt = &v + return s +} + +// SetMasterAccountId sets the MasterAccountId field's value. +func (s *GetMemberOutput) SetMasterAccountId(v string) *GetMemberOutput { + s.MasterAccountId = &v + return s +} + +// SetRelationshipStatus sets the RelationshipStatus field's value. +func (s *GetMemberOutput) SetRelationshipStatus(v string) *GetMemberOutput { + s.RelationshipStatus = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *GetMemberOutput) SetTags(v map[string]*string) *GetMemberOutput { + s.Tags = v + return s +} + +// SetUpdatedAt sets the UpdatedAt field's value. +func (s *GetMemberOutput) SetUpdatedAt(v time.Time) *GetMemberOutput { + s.UpdatedAt = &v + return s +} + +type GetRevealConfigurationInput struct { + _ struct{} `type:"structure" nopayload:"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 GetRevealConfigurationInput) 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 GetRevealConfigurationInput) GoString() string { + return s.String() +} + +// Provides information about the configuration settings for retrieving occurrences +// of sensitive data reported by findings, and the status of the configuration +// for an Amazon Macie account. +type GetRevealConfigurationOutput struct { + _ struct{} `type:"structure"` + + // Specifies the configuration settings for retrieving occurrences of sensitive + // data reported by findings, and the status of the configuration for an Amazon + // Macie account. When you enable the configuration for the first time, your + // request must specify an AWS Key Management Service (AWS KMS) key. Otherwise, + // an error occurs. Macie uses the specified key to encrypt the sensitive data + // that you retrieve. + Configuration *RevealConfiguration `locationName:"configuration" 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 GetRevealConfigurationOutput) 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 GetRevealConfigurationOutput) GoString() string { + return s.String() +} + +// SetConfiguration sets the Configuration field's value. +func (s *GetRevealConfigurationOutput) SetConfiguration(v *RevealConfiguration) *GetRevealConfigurationOutput { + s.Configuration = v + return s +} + +type GetSensitiveDataOccurrencesAvailabilityInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // FindingId is a required field + FindingId *string `location:"uri" locationName:"findingId" 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 GetSensitiveDataOccurrencesAvailabilityInput) 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 GetSensitiveDataOccurrencesAvailabilityInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetSensitiveDataOccurrencesAvailabilityInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetSensitiveDataOccurrencesAvailabilityInput"} + if s.FindingId == nil { + invalidParams.Add(request.NewErrParamRequired("FindingId")) + } + if s.FindingId != nil && len(*s.FindingId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FindingId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFindingId sets the FindingId field's value. +func (s *GetSensitiveDataOccurrencesAvailabilityInput) SetFindingId(v string) *GetSensitiveDataOccurrencesAvailabilityInput { + s.FindingId = &v + return s +} + +// Provides information about whether occurrences of sensitive data can be retrieved +// for a finding and, if not, why the data can't be retrieved. +type GetSensitiveDataOccurrencesAvailabilityOutput struct { + _ struct{} `type:"structure"` + + // Specifies whether occurrences of sensitive data can be retrieved for a finding. + // Possible values are: + Code *string `locationName:"code" type:"string" enum:"AvailabilityCode"` + + Reasons []*string `locationName:"reasons" type:"list" enum:"UnavailabilityReasonCode"` +} + +// 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 GetSensitiveDataOccurrencesAvailabilityOutput) 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 GetSensitiveDataOccurrencesAvailabilityOutput) GoString() string { + return s.String() +} + +// SetCode sets the Code field's value. +func (s *GetSensitiveDataOccurrencesAvailabilityOutput) SetCode(v string) *GetSensitiveDataOccurrencesAvailabilityOutput { + s.Code = &v + return s +} + +// SetReasons sets the Reasons field's value. +func (s *GetSensitiveDataOccurrencesAvailabilityOutput) SetReasons(v []*string) *GetSensitiveDataOccurrencesAvailabilityOutput { + s.Reasons = v + return s +} + +type GetSensitiveDataOccurrencesInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // FindingId is a required field + FindingId *string `location:"uri" locationName:"findingId" 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 GetSensitiveDataOccurrencesInput) 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 GetSensitiveDataOccurrencesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetSensitiveDataOccurrencesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetSensitiveDataOccurrencesInput"} + if s.FindingId == nil { + invalidParams.Add(request.NewErrParamRequired("FindingId")) + } + if s.FindingId != nil && len(*s.FindingId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FindingId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFindingId sets the FindingId field's value. +func (s *GetSensitiveDataOccurrencesInput) SetFindingId(v string) *GetSensitiveDataOccurrencesInput { + s.FindingId = &v + return s +} + +// Provides the results of a request to retrieve occurrences of sensitive data +// reported by a finding. +type GetSensitiveDataOccurrencesOutput struct { + _ struct{} `type:"structure"` + + Error *string `locationName:"error" type:"string"` - // A string-to-string map of key-value pairs that specifies the tags (keys and - // values) for a classification job, custom data identifier, findings filter, - // or member account. - Tags map[string]*string `locationName:"tags" type:"map"` + // Specifies a type of sensitive data reported by a finding and provides occurrences + // of the specified type of sensitive data. + SensitiveDataOccurrences map[string][]*DetectedDataDetails `locationName:"sensitiveDataOccurrences" type:"map"` - UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" timestampFormat:"iso8601"` + // The status of a request to retrieve occurrences of sensitive data reported + // by a finding. Possible values are: + Status *string `locationName:"status" type:"string" enum:"RevealRequestStatus"` } // String returns the string representation. @@ -12407,7 +13108,7 @@ type GetMemberOutput 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 GetMemberOutput) String() string { +func (s GetSensitiveDataOccurrencesOutput) String() string { return awsutil.Prettify(s) } @@ -12416,61 +13117,25 @@ func (s GetMemberOutput) 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 GetMemberOutput) GoString() string { +func (s GetSensitiveDataOccurrencesOutput) GoString() string { return s.String() } -// SetAccountId sets the AccountId field's value. -func (s *GetMemberOutput) SetAccountId(v string) *GetMemberOutput { - s.AccountId = &v - return s -} - -// SetAdministratorAccountId sets the AdministratorAccountId field's value. -func (s *GetMemberOutput) SetAdministratorAccountId(v string) *GetMemberOutput { - s.AdministratorAccountId = &v - return s -} - -// SetArn sets the Arn field's value. -func (s *GetMemberOutput) SetArn(v string) *GetMemberOutput { - s.Arn = &v - return s -} - -// SetEmail sets the Email field's value. -func (s *GetMemberOutput) SetEmail(v string) *GetMemberOutput { - s.Email = &v - return s -} - -// SetInvitedAt sets the InvitedAt field's value. -func (s *GetMemberOutput) SetInvitedAt(v time.Time) *GetMemberOutput { - s.InvitedAt = &v - return s -} - -// SetMasterAccountId sets the MasterAccountId field's value. -func (s *GetMemberOutput) SetMasterAccountId(v string) *GetMemberOutput { - s.MasterAccountId = &v - return s -} - -// SetRelationshipStatus sets the RelationshipStatus field's value. -func (s *GetMemberOutput) SetRelationshipStatus(v string) *GetMemberOutput { - s.RelationshipStatus = &v +// SetError sets the Error field's value. +func (s *GetSensitiveDataOccurrencesOutput) SetError(v string) *GetSensitiveDataOccurrencesOutput { + s.Error = &v return s } -// SetTags sets the Tags field's value. -func (s *GetMemberOutput) SetTags(v map[string]*string) *GetMemberOutput { - s.Tags = v +// SetSensitiveDataOccurrences sets the SensitiveDataOccurrences field's value. +func (s *GetSensitiveDataOccurrencesOutput) SetSensitiveDataOccurrences(v map[string][]*DetectedDataDetails) *GetSensitiveDataOccurrencesOutput { + s.SensitiveDataOccurrences = v return s } -// SetUpdatedAt sets the UpdatedAt field's value. -func (s *GetMemberOutput) SetUpdatedAt(v time.Time) *GetMemberOutput { - s.UpdatedAt = &v +// SetStatus sets the Status field's value. +func (s *GetSensitiveDataOccurrencesOutput) SetStatus(v string) *GetSensitiveDataOccurrencesOutput { + s.Status = &v return s } @@ -14913,7 +15578,9 @@ func (s *ObjectLevelStatistics) SetTotal(v int64) *ObjectLevelStatistics { // Specifies the location of 1-15 occurrences of sensitive data that was detected // by a managed data identifier or a custom data identifier and produced a sensitive -// data finding. +// data finding. Depending on the file or storage format of the affected S3 +// object, you can optionally retrieve (reveal) sample occurrences of the sensitive +// data that was detected. type Occurrences struct { _ struct{} `type:"structure"` @@ -15497,6 +16164,70 @@ func (s *ResourcesAffected) SetS3Object(v *S3Object) *ResourcesAffected { return s } +// Specifies the configuration settings for retrieving occurrences of sensitive +// data reported by findings, and the status of the configuration for an Amazon +// Macie account. When you enable the configuration for the first time, your +// request must specify an AWS Key Management Service (AWS KMS) key. Otherwise, +// an error occurs. Macie uses the specified key to encrypt the sensitive data +// that you retrieve. +type RevealConfiguration struct { + _ struct{} `type:"structure"` + + KmsKeyId *string `locationName:"kmsKeyId" min:"1" type:"string"` + + // The status of the configuration for the Amazon Macie account. In a request, + // valid values are: + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"RevealStatus"` +} + +// 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 RevealConfiguration) 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 RevealConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RevealConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RevealConfiguration"} + if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1)) + } + if s.Status == nil { + invalidParams.Add(request.NewErrParamRequired("Status")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *RevealConfiguration) SetKmsKeyId(v string) *RevealConfiguration { + s.KmsKeyId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *RevealConfiguration) SetStatus(v string) *RevealConfiguration { + s.Status = &v + return s +} + // Provides information about the S3 bucket that a finding applies to. type S3Bucket struct { _ struct{} `type:"structure"` @@ -17605,6 +18336,71 @@ func (s *ThrottlingException) RequestID() string { return s.RespMetadata.RequestID } +// Provides information about an error that occurred due to an unprocessable +// entity. +type UnprocessableEntityException 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 UnprocessableEntityException) 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 UnprocessableEntityException) GoString() string { + return s.String() +} + +func newErrorUnprocessableEntityException(v protocol.ResponseMetadata) error { + return &UnprocessableEntityException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *UnprocessableEntityException) Code() string { + return "UnprocessableEntityException" +} + +// Message returns the exception's message. +func (s *UnprocessableEntityException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *UnprocessableEntityException) OrigErr() error { + return nil +} + +func (s *UnprocessableEntityException) 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 *UnprocessableEntityException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *UnprocessableEntityException) RequestID() string { + return s.RespMetadata.RequestID +} + // Provides information about an account-related request that hasn't been processed. type UnprocessedAccount struct { _ struct{} `type:"structure"` @@ -18182,6 +18978,104 @@ func (s UpdateOrganizationConfigurationOutput) GoString() string { return s.String() } +// Specifies the configuration settings for retrieving occurrences of sensitive +// data reported by findings, and the status of the configuration for an Amazon +// Macie account. +type UpdateRevealConfigurationInput struct { + _ struct{} `type:"structure"` + + // Specifies the configuration settings for retrieving occurrences of sensitive + // data reported by findings, and the status of the configuration for an Amazon + // Macie account. When you enable the configuration for the first time, your + // request must specify an AWS Key Management Service (AWS KMS) key. Otherwise, + // an error occurs. Macie uses the specified key to encrypt the sensitive data + // that you retrieve. + // + // Configuration is a required field + Configuration *RevealConfiguration `locationName:"configuration" type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateRevealConfigurationInput) 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 UpdateRevealConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateRevealConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateRevealConfigurationInput"} + if s.Configuration == nil { + invalidParams.Add(request.NewErrParamRequired("Configuration")) + } + if s.Configuration != nil { + if err := s.Configuration.Validate(); err != nil { + invalidParams.AddNested("Configuration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConfiguration sets the Configuration field's value. +func (s *UpdateRevealConfigurationInput) SetConfiguration(v *RevealConfiguration) *UpdateRevealConfigurationInput { + s.Configuration = v + return s +} + +// Provides information about updated configuration settings for retrieving +// occurrences of sensitive data reported by findings, and the status of the +// configuration for an Amazon Macie account. +type UpdateRevealConfigurationOutput struct { + _ struct{} `type:"structure"` + + // Specifies the configuration settings for retrieving occurrences of sensitive + // data reported by findings, and the status of the configuration for an Amazon + // Macie account. When you enable the configuration for the first time, your + // request must specify an AWS Key Management Service (AWS KMS) key. Otherwise, + // an error occurs. Macie uses the specified key to encrypt the sensitive data + // that you retrieve. + Configuration *RevealConfiguration `locationName:"configuration" 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 UpdateRevealConfigurationOutput) 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 UpdateRevealConfigurationOutput) GoString() string { + return s.String() +} + +// SetConfiguration sets the Configuration field's value. +func (s *UpdateRevealConfigurationOutput) SetConfiguration(v *RevealConfiguration) *UpdateRevealConfigurationOutput { + s.Configuration = v + return s +} + // Provides data for a specific usage metric and the corresponding quota for // an Amazon Macie account. type UsageByAccount struct { @@ -18773,6 +19667,24 @@ func AllowsUnencryptedObjectUploads_Values() []string { } } +// Specifies whether occurrences of sensitive data can be retrieved for a finding. +// Possible values are: +const ( + // AvailabilityCodeAvailable is a AvailabilityCode enum value + AvailabilityCodeAvailable = "AVAILABLE" + + // AvailabilityCodeUnavailable is a AvailabilityCode enum value + AvailabilityCodeUnavailable = "UNAVAILABLE" +) + +// AvailabilityCode_Values returns all elements of the AvailabilityCode enum +func AvailabilityCode_Values() []string { + return []string{ + AvailabilityCodeAvailable, + AvailabilityCodeUnavailable, + } +} + // The error code for an error that prevented Amazon Macie from retrieving and // processing information about an S3 bucket and the bucket's objects. const ( @@ -19413,6 +20325,46 @@ func RelationshipStatus_Values() []string { } } +// The status of a request to retrieve occurrences of sensitive data reported +// by a finding. Possible values are: +const ( + // RevealRequestStatusSuccess is a RevealRequestStatus enum value + RevealRequestStatusSuccess = "SUCCESS" + + // RevealRequestStatusProcessing is a RevealRequestStatus enum value + RevealRequestStatusProcessing = "PROCESSING" + + // RevealRequestStatusError is a RevealRequestStatus enum value + RevealRequestStatusError = "ERROR" +) + +// RevealRequestStatus_Values returns all elements of the RevealRequestStatus enum +func RevealRequestStatus_Values() []string { + return []string{ + RevealRequestStatusSuccess, + RevealRequestStatusProcessing, + RevealRequestStatusError, + } +} + +// The status of the configuration for the Amazon Macie account. In a request, +// valid values are: +const ( + // RevealStatusEnabled is a RevealStatus enum value + RevealStatusEnabled = "ENABLED" + + // RevealStatusDisabled is a RevealStatus enum value + RevealStatusDisabled = "DISABLED" +) + +// RevealStatus_Values returns all elements of the RevealStatus enum +func RevealStatus_Values() []string { + return []string{ + RevealStatusEnabled, + RevealStatusDisabled, + } +} + // The property to use in a condition that determines whether an S3 object is // included or excluded from a classification job. Valid values are: const ( @@ -19695,6 +20647,36 @@ func Type_Values() []string { } } +// Specifies why occurrences of sensitive data can't be retrieved for a finding. +// Possible values are: +const ( + // UnavailabilityReasonCodeObjectExceedsSizeQuota is a UnavailabilityReasonCode enum value + UnavailabilityReasonCodeObjectExceedsSizeQuota = "OBJECT_EXCEEDS_SIZE_QUOTA" + + // UnavailabilityReasonCodeUnsupportedObjectType is a UnavailabilityReasonCode enum value + UnavailabilityReasonCodeUnsupportedObjectType = "UNSUPPORTED_OBJECT_TYPE" + + // UnavailabilityReasonCodeUnsupportedFindingType is a UnavailabilityReasonCode enum value + UnavailabilityReasonCodeUnsupportedFindingType = "UNSUPPORTED_FINDING_TYPE" + + // UnavailabilityReasonCodeInvalidClassificationResult is a UnavailabilityReasonCode enum value + UnavailabilityReasonCodeInvalidClassificationResult = "INVALID_CLASSIFICATION_RESULT" + + // UnavailabilityReasonCodeObjectUnavailable is a UnavailabilityReasonCode enum value + UnavailabilityReasonCodeObjectUnavailable = "OBJECT_UNAVAILABLE" +) + +// UnavailabilityReasonCode_Values returns all elements of the UnavailabilityReasonCode enum +func UnavailabilityReasonCode_Values() []string { + return []string{ + UnavailabilityReasonCodeObjectExceedsSizeQuota, + UnavailabilityReasonCodeUnsupportedObjectType, + UnavailabilityReasonCodeUnsupportedFindingType, + UnavailabilityReasonCodeInvalidClassificationResult, + UnavailabilityReasonCodeObjectUnavailable, + } +} + const ( // UnitTerabytes is a Unit enum value UnitTerabytes = "TERABYTES" diff --git a/service/macie2/errors.go b/service/macie2/errors.go index 7dfefa8f9cf..46b0a8aa52f 100644 --- a/service/macie2/errors.go +++ b/service/macie2/errors.go @@ -50,6 +50,13 @@ const ( // were sent during a certain amount of time. ErrCodeThrottlingException = "ThrottlingException" + // ErrCodeUnprocessableEntityException for service response error code + // "UnprocessableEntityException". + // + // Provides information about an error that occurred due to an unprocessable + // entity. + ErrCodeUnprocessableEntityException = "UnprocessableEntityException" + // ErrCodeValidationException for service response error code // "ValidationException". // @@ -65,5 +72,6 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "ResourceNotFoundException": newErrorResourceNotFoundException, "ServiceQuotaExceededException": newErrorServiceQuotaExceededException, "ThrottlingException": newErrorThrottlingException, + "UnprocessableEntityException": newErrorUnprocessableEntityException, "ValidationException": newErrorValidationException, } diff --git a/service/macie2/macie2iface/interface.go b/service/macie2/macie2iface/interface.go index e44a34dcee1..8ed276bd3e5 100644 --- a/service/macie2/macie2iface/interface.go +++ b/service/macie2/macie2iface/interface.go @@ -203,6 +203,18 @@ type Macie2API interface { GetMemberWithContext(aws.Context, *macie2.GetMemberInput, ...request.Option) (*macie2.GetMemberOutput, error) GetMemberRequest(*macie2.GetMemberInput) (*request.Request, *macie2.GetMemberOutput) + GetRevealConfiguration(*macie2.GetRevealConfigurationInput) (*macie2.GetRevealConfigurationOutput, error) + GetRevealConfigurationWithContext(aws.Context, *macie2.GetRevealConfigurationInput, ...request.Option) (*macie2.GetRevealConfigurationOutput, error) + GetRevealConfigurationRequest(*macie2.GetRevealConfigurationInput) (*request.Request, *macie2.GetRevealConfigurationOutput) + + GetSensitiveDataOccurrences(*macie2.GetSensitiveDataOccurrencesInput) (*macie2.GetSensitiveDataOccurrencesOutput, error) + GetSensitiveDataOccurrencesWithContext(aws.Context, *macie2.GetSensitiveDataOccurrencesInput, ...request.Option) (*macie2.GetSensitiveDataOccurrencesOutput, error) + GetSensitiveDataOccurrencesRequest(*macie2.GetSensitiveDataOccurrencesInput) (*request.Request, *macie2.GetSensitiveDataOccurrencesOutput) + + GetSensitiveDataOccurrencesAvailability(*macie2.GetSensitiveDataOccurrencesAvailabilityInput) (*macie2.GetSensitiveDataOccurrencesAvailabilityOutput, error) + GetSensitiveDataOccurrencesAvailabilityWithContext(aws.Context, *macie2.GetSensitiveDataOccurrencesAvailabilityInput, ...request.Option) (*macie2.GetSensitiveDataOccurrencesAvailabilityOutput, error) + GetSensitiveDataOccurrencesAvailabilityRequest(*macie2.GetSensitiveDataOccurrencesAvailabilityInput) (*request.Request, *macie2.GetSensitiveDataOccurrencesAvailabilityOutput) + GetUsageStatistics(*macie2.GetUsageStatisticsInput) (*macie2.GetUsageStatisticsOutput, error) GetUsageStatisticsWithContext(aws.Context, *macie2.GetUsageStatisticsInput, ...request.Option) (*macie2.GetUsageStatisticsOutput, error) GetUsageStatisticsRequest(*macie2.GetUsageStatisticsInput) (*request.Request, *macie2.GetUsageStatisticsOutput) @@ -317,6 +329,13 @@ type Macie2API interface { UpdateOrganizationConfiguration(*macie2.UpdateOrganizationConfigurationInput) (*macie2.UpdateOrganizationConfigurationOutput, error) UpdateOrganizationConfigurationWithContext(aws.Context, *macie2.UpdateOrganizationConfigurationInput, ...request.Option) (*macie2.UpdateOrganizationConfigurationOutput, error) UpdateOrganizationConfigurationRequest(*macie2.UpdateOrganizationConfigurationInput) (*request.Request, *macie2.UpdateOrganizationConfigurationOutput) + + UpdateRevealConfiguration(*macie2.UpdateRevealConfigurationInput) (*macie2.UpdateRevealConfigurationOutput, error) + UpdateRevealConfigurationWithContext(aws.Context, *macie2.UpdateRevealConfigurationInput, ...request.Option) (*macie2.UpdateRevealConfigurationOutput, error) + UpdateRevealConfigurationRequest(*macie2.UpdateRevealConfigurationInput) (*request.Request, *macie2.UpdateRevealConfigurationOutput) + + WaitUntilFindingRevealed(*macie2.GetSensitiveDataOccurrencesInput) error + WaitUntilFindingRevealedWithContext(aws.Context, *macie2.GetSensitiveDataOccurrencesInput, ...request.WaiterOption) error } var _ Macie2API = (*macie2.Macie2)(nil) diff --git a/service/macie2/waiters.go b/service/macie2/waiters.go new file mode 100644 index 00000000000..69e577ff5f8 --- /dev/null +++ b/service/macie2/waiters.go @@ -0,0 +1,61 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package macie2 + +import ( + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" +) + +// WaitUntilFindingRevealed uses the Amazon Macie 2 API operation +// GetSensitiveDataOccurrences to wait for a condition to be met before returning. +// If the condition is not met within the max attempt window, an error will +// be returned. +func (c *Macie2) WaitUntilFindingRevealed(input *GetSensitiveDataOccurrencesInput) error { + return c.WaitUntilFindingRevealedWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilFindingRevealedWithContext is an extended version of WaitUntilFindingRevealed. +// With the support for passing in a context and options to configure the +// Waiter and the underlying request options. +// +// 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 *Macie2) WaitUntilFindingRevealedWithContext(ctx aws.Context, input *GetSensitiveDataOccurrencesInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilFindingRevealed", + MaxAttempts: 60, + Delay: request.ConstantWaiterDelay(2 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.PathWaiterMatch, Argument: "status", + Expected: "SUCCESS", + }, + { + State: request.SuccessWaiterState, + Matcher: request.PathWaiterMatch, Argument: "status", + Expected: "ERROR", + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *GetSensitiveDataOccurrencesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetSensitiveDataOccurrencesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +} diff --git a/service/rds/api.go b/service/rds/api.go index 22453a210e7..8c195e0bee3 100644 --- a/service/rds/api.go +++ b/service/rds/api.go @@ -22174,9 +22174,9 @@ type CreateDBProxyInput struct { // The kinds of databases that the proxy can connect to. This value determines // which database network protocol the proxy recognizes when it interprets network - // traffic to and from the database. For Aurora MySQL and RDS for MySQL databases, - // specify MYSQL. For Aurora PostgreSQL and RDS for PostgreSQL databases, specify - // POSTGRESQL. + // traffic to and from the database. For Aurora MySQL, RDS for MariaDB, and + // RDS for MySQL databases, specify MYSQL. For Aurora PostgreSQL and RDS for + // PostgreSQL databases, specify POSTGRESQL. // // EngineFamily is a required field EngineFamily *string `type:"string" required:"true" enum:"EngineFamily"` @@ -26534,9 +26534,9 @@ type DBProxy struct { // The kinds of databases that the proxy can connect to. This value determines // which database network protocol the proxy recognizes when it interprets network - // traffic to and from the database. MYSQL supports Aurora MySQL and RDS for - // MySQL databases. POSTGRESQL supports Aurora PostgreSQL and RDS for PostgreSQL - // databases. + // traffic to and from the database. MYSQL supports Aurora MySQL, RDS for MariaDB, + // and RDS for MySQL databases. POSTGRESQL supports Aurora PostgreSQL and RDS + // for PostgreSQL databases. EngineFamily *string `type:"string"` // The number of seconds a connection to the proxy can have no activity before diff --git a/service/rekognition/api.go b/service/rekognition/api.go index 9cd0970e04a..22f36a7dda4 100644 --- a/service/rekognition/api.go +++ b/service/rekognition/api.go @@ -6907,6 +6907,9 @@ func (c *Rekognition) StartProjectVersionRequest(input *StartProjectVersionInput // You are charged for the amount of time that the model is running. To stop // a running model, call StopProjectVersion. // +// For more information, see Running a trained Amazon Rekognition Custom Labels +// model in the Amazon Rekognition Custom Labels Guide. +// // This operation requires permissions to perform the rekognition:StartProjectVersion // action. // @@ -9718,9 +9721,10 @@ type CreateStreamProcessorInput struct { Output *StreamProcessorOutput `type:"structure" required:"true"` // Specifies locations in the frames where Amazon Rekognition checks for objects - // or people. You can specify up to 10 regions of interest. This is an optional - // parameter for label detection stream processors and should not be used to - // create a face search stream processor. + // or people. You can specify up to 10 regions of interest, and each region + // has either a polygon or a bounding box. This is an optional parameter for + // label detection stream processors and should not be used to create a face + // search stream processor. RegionsOfInterest []*RegionOfInterest `type:"list"` // The Amazon Resource Number (ARN) of the IAM role that allows access to the @@ -17578,6 +17582,10 @@ type ProjectVersionDescription struct { // data validation results for the training and test datasets. ManifestSummary *GroundTruthManifest `type:"structure"` + // The maximum number of inference units Amazon Rekognition Custom Labels uses + // to auto-scale the model. For more information, see StartProjectVersion. + MaxInferenceUnits *int64 `min:"1" type:"integer"` + // The minimum number of inference units used by the model. For more information, // see StartProjectVersion. MinInferenceUnits *int64 `min:"1" type:"integer"` @@ -17652,6 +17660,12 @@ func (s *ProjectVersionDescription) SetManifestSummary(v *GroundTruthManifest) * return s } +// SetMaxInferenceUnits sets the MaxInferenceUnits field's value. +func (s *ProjectVersionDescription) SetMaxInferenceUnits(v int64) *ProjectVersionDescription { + s.MaxInferenceUnits = &v + return s +} + // SetMinInferenceUnits sets the MinInferenceUnits field's value. func (s *ProjectVersionDescription) SetMinInferenceUnits(v int64) *ProjectVersionDescription { s.MinInferenceUnits = &v @@ -18154,8 +18168,8 @@ func (s *RecognizeCelebritiesOutput) SetUnrecognizedFaces(v []*ComparedFace) *Re } // Specifies a location within the frame that Rekognition checks for objects -// of interest such as text, labels, or faces. It uses a BoundingBox or object -// or Polygon to set a region of the screen. +// of interest such as text, labels, or faces. It uses a BoundingBox or Polygon +// to set a region of the screen. // // A word, face, or label is included in the region if it is more than half // in that region. If there is more than one region, the word, face, or label @@ -20109,8 +20123,18 @@ func (s *StartPersonTrackingOutput) SetJobId(v string) *StartPersonTrackingOutpu type StartProjectVersionInput struct { _ struct{} `type:"structure"` + // The maximum number of inference units to use for auto-scaling the model. + // If you don't specify a value, Amazon Rekognition Custom Labels doesn't auto-scale + // the model. + MaxInferenceUnits *int64 `min:"1" type:"integer"` + // The minimum number of inference units to use. A single inference unit represents - // 1 hour of processing and can support up to 5 Transaction Pers Second (TPS). + // 1 hour of processing. + // + // For information about the number of transactions per second (TPS) that an + // inference unit can support, see Running a trained Amazon Rekognition Custom + // Labels model in the Amazon Rekognition Custom Labels Guide. + // // Use a higher number to increase the TPS throughput of your model. You are // charged for the number of inference units that you use. // @@ -20144,6 +20168,9 @@ func (s StartProjectVersionInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *StartProjectVersionInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "StartProjectVersionInput"} + if s.MaxInferenceUnits != nil && *s.MaxInferenceUnits < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxInferenceUnits", 1)) + } if s.MinInferenceUnits == nil { invalidParams.Add(request.NewErrParamRequired("MinInferenceUnits")) } @@ -20163,6 +20190,12 @@ func (s *StartProjectVersionInput) Validate() error { return nil } +// SetMaxInferenceUnits sets the MaxInferenceUnits field's value. +func (s *StartProjectVersionInput) SetMaxInferenceUnits(v int64) *StartProjectVersionInput { + s.MaxInferenceUnits = &v + return s +} + // SetMinInferenceUnits sets the MinInferenceUnits field's value. func (s *StartProjectVersionInput) SetMinInferenceUnits(v int64) *StartProjectVersionInput { s.MinInferenceUnits = &v diff --git a/service/securityhub/api.go b/service/securityhub/api.go index 41d5fd7644c..ec1d1cf7ec0 100644 --- a/service/securityhub/api.go +++ b/service/securityhub/api.go @@ -32886,7 +32886,7 @@ func (s *AwsWafRegionalRuleGroupDetails) SetRules(v []*AwsWafRegionalRuleGroupRu return s } -// Describes the action that AWS WAF should take on a web request when it matches +// Describes the action that WAF should take on a web request when it matches // the criteria defined in the rule. type AwsWafRegionalRuleGroupRulesActionDetails struct { _ struct{} `type:"structure"` @@ -33148,8 +33148,8 @@ func (s *AwsWafRegionalWebAclRulesListActionDetails) SetType(v string) *AwsWafRe type AwsWafRegionalWebAclRulesListDetails struct { _ struct{} `type:"structure"` - // The action that AWS WAF takes when a web request matches all conditions in - // the rule, such as allow, block, or count the request. + // The action that WAF takes when a web request matches all conditions in the + // rule, such as allow, block, or count the request. Action *AwsWafRegionalWebAclRulesListActionDetails `type:"structure"` // Overrides the rule evaluation result in the rule group. @@ -34261,12 +34261,43 @@ func (s *BatchUpdateFindingsOutput) SetUnprocessedFindings(v []*BatchUpdateFindi type BatchUpdateFindingsUnprocessedFinding struct { _ struct{} `type:"structure"` - // The code associated with the error. + // The code associated with the error. Possible values are: + // + // * ConcurrentUpdateError - Another process or request attempted to update + // the finding while this request was being processed + // + // * DuplicatedFindingIdentifier - The request included two or more findings + // with the same FindingIdentifier + // + // * FindingNotFound - The FindingIdentifier included in the request did + // not match an existing finding + // + // * FindingSizeExceeded - The finding size was greater than the permissible + // value of 240 KB + // + // * InternalFailure - An internal service failure occurred when updating + // the finding + // + // * InvalidInput - The finding update contained an invalid value that did + // not satisfy the Amazon Web Services Security Finding Format (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-findings-format.html) + // syntax // // ErrorCode is a required field ErrorCode *string `type:"string" required:"true"` - // The message associated with the error. + // The message associated with the error. Possible values are: + // + // * Concurrent finding updates detected + // + // * Finding Identifier is duplicated + // + // * Finding Not Found + // + // * Finding size exceeded 240 KB + // + // * Internal service failure + // + // * Invalid Input // // ErrorMessage is a required field ErrorMessage *string `type:"string" required:"true"` diff --git a/service/transfer/api.go b/service/transfer/api.go index c330bbdc300..a656227c171 100644 --- a/service/transfer/api.go +++ b/service/transfer/api.go @@ -58,11 +58,11 @@ func (c *Transfer) CreateAccessRequest(input *CreateAccessInput) (req *request.R // CreateAccess API operation for AWS Transfer Family. // // Used by administrators to choose which groups in the directory should have -// access to upload and download files over the enabled protocols using Amazon -// Web Services Transfer Family. For example, a Microsoft Active Directory might -// contain 50,000 users, but only a small fraction might need the ability to -// transfer files to the server. An administrator can use CreateAccess to limit -// the access to the correct set of users who need this ability. +// access to upload and download files over the enabled protocols using Transfer +// Family. For example, a Microsoft Active Directory might contain 50,000 users, +// but only a small fraction might need the ability to transfer files to the +// server. An administrator can use CreateAccess to limit the access to the +// correct set of users who need this ability. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -112,6 +112,295 @@ func (c *Transfer) CreateAccessWithContext(ctx aws.Context, input *CreateAccessI return out, req.Send() } +const opCreateAgreement = "CreateAgreement" + +// CreateAgreementRequest generates a "aws/request.Request" representing the +// client's request for the CreateAgreement 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 CreateAgreement for more information on using the CreateAgreement +// 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 CreateAgreementRequest method. +// req, resp := client.CreateAgreementRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/CreateAgreement +func (c *Transfer) CreateAgreementRequest(input *CreateAgreementInput) (req *request.Request, output *CreateAgreementOutput) { + op := &request.Operation{ + Name: opCreateAgreement, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateAgreementInput{} + } + + output = &CreateAgreementOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateAgreement API operation for AWS Transfer Family. +// +// Creates an agreement. An agreement is a bilateral trading partner agreement, +// or partnership, between an Transfer Family server and an AS2 process. The +// agreement defines the file and message transfer relationship between the +// server and the AS2 process. To define an agreement, Transfer Family combines +// a server, local profile, partner profile, certificate, and other attributes. +// +// The partner is identified with the PartnerProfileId, and the AS2 process +// is identified with the LocalProfileId. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Transfer Family's +// API operation CreateAgreement for usage and error information. +// +// Returned Error Types: +// * ServiceUnavailableException +// The request has failed because the Amazon Web ServicesTransfer Family service +// is not available. +// +// * InternalServiceError +// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer +// Family service. +// +// * InvalidRequestException +// This exception is thrown when the client submits a malformed request. +// +// * ResourceExistsException +// The requested resource does not exist. +// +// * ResourceNotFoundException +// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer +// Family service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/CreateAgreement +func (c *Transfer) CreateAgreement(input *CreateAgreementInput) (*CreateAgreementOutput, error) { + req, out := c.CreateAgreementRequest(input) + return out, req.Send() +} + +// CreateAgreementWithContext is the same as CreateAgreement with the addition of +// the ability to pass a context and additional request options. +// +// See CreateAgreement 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 *Transfer) CreateAgreementWithContext(ctx aws.Context, input *CreateAgreementInput, opts ...request.Option) (*CreateAgreementOutput, error) { + req, out := c.CreateAgreementRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateConnector = "CreateConnector" + +// CreateConnectorRequest generates a "aws/request.Request" representing the +// client's request for the CreateConnector 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 CreateConnector for more information on using the CreateConnector +// 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 CreateConnectorRequest method. +// req, resp := client.CreateConnectorRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/CreateConnector +func (c *Transfer) CreateConnectorRequest(input *CreateConnectorInput) (req *request.Request, output *CreateConnectorOutput) { + op := &request.Operation{ + Name: opCreateConnector, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateConnectorInput{} + } + + output = &CreateConnectorOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateConnector API operation for AWS Transfer Family. +// +// Creates the connector, which captures the parameters for an outbound connection +// for the AS2 protocol. The connector is required for sending files from a +// customer's non Amazon Web Services server. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Transfer Family's +// API operation CreateConnector for usage and error information. +// +// Returned Error Types: +// * ServiceUnavailableException +// The request has failed because the Amazon Web ServicesTransfer Family service +// is not available. +// +// * InternalServiceError +// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer +// Family service. +// +// * InvalidRequestException +// This exception is thrown when the client submits a malformed request. +// +// * ResourceExistsException +// The requested resource does not exist. +// +// * ResourceNotFoundException +// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer +// Family service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/CreateConnector +func (c *Transfer) CreateConnector(input *CreateConnectorInput) (*CreateConnectorOutput, error) { + req, out := c.CreateConnectorRequest(input) + return out, req.Send() +} + +// CreateConnectorWithContext is the same as CreateConnector with the addition of +// the ability to pass a context and additional request options. +// +// See CreateConnector 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 *Transfer) CreateConnectorWithContext(ctx aws.Context, input *CreateConnectorInput, opts ...request.Option) (*CreateConnectorOutput, error) { + req, out := c.CreateConnectorRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateProfile = "CreateProfile" + +// CreateProfileRequest generates a "aws/request.Request" representing the +// client's request for the CreateProfile 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 CreateProfile for more information on using the CreateProfile +// 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 CreateProfileRequest method. +// req, resp := client.CreateProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/CreateProfile +func (c *Transfer) CreateProfileRequest(input *CreateProfileInput) (req *request.Request, output *CreateProfileOutput) { + op := &request.Operation{ + Name: opCreateProfile, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateProfileInput{} + } + + output = &CreateProfileOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateProfile API operation for AWS Transfer Family. +// +// Creates the profile for the AS2 process. The agreement is between the partner +// and the AS2 process. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Transfer Family's +// API operation CreateProfile for usage and error information. +// +// Returned Error Types: +// * ServiceUnavailableException +// The request has failed because the Amazon Web ServicesTransfer Family service +// is not available. +// +// * InternalServiceError +// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer +// Family service. +// +// * InvalidRequestException +// This exception is thrown when the client submits a malformed request. +// +// * ResourceNotFoundException +// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer +// Family service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/CreateProfile +func (c *Transfer) CreateProfile(input *CreateProfileInput) (*CreateProfileOutput, error) { + req, out := c.CreateProfileRequest(input) + return out, req.Send() +} + +// CreateProfileWithContext is the same as CreateProfile with the addition of +// the ability to pass a context and additional request options. +// +// See CreateProfile 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 *Transfer) CreateProfileWithContext(ctx aws.Context, input *CreateProfileInput, opts ...request.Option) (*CreateProfileOutput, error) { + req, out := c.CreateProfileRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateServer = "CreateServer" // CreateServerRequest generates a "aws/request.Request" representing the @@ -263,9 +552,9 @@ func (c *Transfer) CreateUserRequest(input *CreateUserInput) (req *request.Reque // server. You can only create and associate users with servers that have the // IdentityProviderType set to SERVICE_MANAGED. Using parameters for CreateUser, // you can specify the user name, set the home directory, store the user's public -// key, and assign the user's Amazon Web Services Identity and Access Management -// (IAM) role. You can also optionally add a session policy, and assign metadata -// with tags that can be used to group and search for users. +// key, and assign the user's Identity and Access Management (IAM) role. You +// can also optionally add a session policy, and assign metadata with tags that +// can be used to group and search for users. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -507,66 +796,61 @@ func (c *Transfer) DeleteAccessWithContext(ctx aws.Context, input *DeleteAccessI return out, req.Send() } -const opDeleteServer = "DeleteServer" +const opDeleteAgreement = "DeleteAgreement" -// DeleteServerRequest generates a "aws/request.Request" representing the -// client's request for the DeleteServer operation. The "output" return +// DeleteAgreementRequest generates a "aws/request.Request" representing the +// client's request for the DeleteAgreement 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 DeleteServer for more information on using the DeleteServer +// See DeleteAgreement for more information on using the DeleteAgreement // 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 DeleteServerRequest method. -// req, resp := client.DeleteServerRequest(params) +// // Example sending a request using the DeleteAgreementRequest method. +// req, resp := client.DeleteAgreementRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteServer -func (c *Transfer) DeleteServerRequest(input *DeleteServerInput) (req *request.Request, output *DeleteServerOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteAgreement +func (c *Transfer) DeleteAgreementRequest(input *DeleteAgreementInput) (req *request.Request, output *DeleteAgreementOutput) { op := &request.Operation{ - Name: opDeleteServer, + Name: opDeleteAgreement, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DeleteServerInput{} + input = &DeleteAgreementInput{} } - output = &DeleteServerOutput{} + output = &DeleteAgreementOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DeleteServer API operation for AWS Transfer Family. -// -// Deletes the file transfer protocol-enabled server that you specify. +// DeleteAgreement API operation for AWS Transfer Family. // -// No response returns from this operation. +// Delete the agreement that's specified in the provided AgreementId. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Transfer Family's -// API operation DeleteServer for usage and error information. +// API operation DeleteAgreement for usage and error information. // // Returned Error Types: -// * AccessDeniedException -// You do not have sufficient access to perform this action. -// // * ServiceUnavailableException // The request has failed because the Amazon Web ServicesTransfer Family service // is not available. @@ -582,81 +866,81 @@ func (c *Transfer) DeleteServerRequest(input *DeleteServerInput) (req *request.R // This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer // Family service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteServer -func (c *Transfer) DeleteServer(input *DeleteServerInput) (*DeleteServerOutput, error) { - req, out := c.DeleteServerRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteAgreement +func (c *Transfer) DeleteAgreement(input *DeleteAgreementInput) (*DeleteAgreementOutput, error) { + req, out := c.DeleteAgreementRequest(input) return out, req.Send() } -// DeleteServerWithContext is the same as DeleteServer with the addition of +// DeleteAgreementWithContext is the same as DeleteAgreement with the addition of // the ability to pass a context and additional request options. // -// See DeleteServer for details on how to use this API operation. +// See DeleteAgreement 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 *Transfer) DeleteServerWithContext(ctx aws.Context, input *DeleteServerInput, opts ...request.Option) (*DeleteServerOutput, error) { - req, out := c.DeleteServerRequest(input) +func (c *Transfer) DeleteAgreementWithContext(ctx aws.Context, input *DeleteAgreementInput, opts ...request.Option) (*DeleteAgreementOutput, error) { + req, out := c.DeleteAgreementRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeleteSshPublicKey = "DeleteSshPublicKey" +const opDeleteCertificate = "DeleteCertificate" -// DeleteSshPublicKeyRequest generates a "aws/request.Request" representing the -// client's request for the DeleteSshPublicKey operation. The "output" return +// DeleteCertificateRequest generates a "aws/request.Request" representing the +// client's request for the DeleteCertificate 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 DeleteSshPublicKey for more information on using the DeleteSshPublicKey +// See DeleteCertificate for more information on using the DeleteCertificate // 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 DeleteSshPublicKeyRequest method. -// req, resp := client.DeleteSshPublicKeyRequest(params) +// // Example sending a request using the DeleteCertificateRequest method. +// req, resp := client.DeleteCertificateRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteSshPublicKey -func (c *Transfer) DeleteSshPublicKeyRequest(input *DeleteSshPublicKeyInput) (req *request.Request, output *DeleteSshPublicKeyOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteCertificate +func (c *Transfer) DeleteCertificateRequest(input *DeleteCertificateInput) (req *request.Request, output *DeleteCertificateOutput) { op := &request.Operation{ - Name: opDeleteSshPublicKey, + Name: opDeleteCertificate, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DeleteSshPublicKeyInput{} + input = &DeleteCertificateInput{} } - output = &DeleteSshPublicKeyOutput{} + output = &DeleteCertificateOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DeleteSshPublicKey API operation for AWS Transfer Family. +// DeleteCertificate API operation for AWS Transfer Family. // -// Deletes a user's Secure Shell (SSH) public key. +// Deletes the certificate that's specified in the CertificateId parameter. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Transfer Family's -// API operation DeleteSshPublicKey for usage and error information. +// API operation DeleteCertificate for usage and error information. // // Returned Error Types: // * ServiceUnavailableException @@ -674,89 +958,81 @@ func (c *Transfer) DeleteSshPublicKeyRequest(input *DeleteSshPublicKeyInput) (re // This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer // Family service. // -// * ThrottlingException -// The request was denied due to request throttling. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteSshPublicKey -func (c *Transfer) DeleteSshPublicKey(input *DeleteSshPublicKeyInput) (*DeleteSshPublicKeyOutput, error) { - req, out := c.DeleteSshPublicKeyRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteCertificate +func (c *Transfer) DeleteCertificate(input *DeleteCertificateInput) (*DeleteCertificateOutput, error) { + req, out := c.DeleteCertificateRequest(input) return out, req.Send() } -// DeleteSshPublicKeyWithContext is the same as DeleteSshPublicKey with the addition of +// DeleteCertificateWithContext is the same as DeleteCertificate with the addition of // the ability to pass a context and additional request options. // -// See DeleteSshPublicKey for details on how to use this API operation. +// See DeleteCertificate 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 *Transfer) DeleteSshPublicKeyWithContext(ctx aws.Context, input *DeleteSshPublicKeyInput, opts ...request.Option) (*DeleteSshPublicKeyOutput, error) { - req, out := c.DeleteSshPublicKeyRequest(input) +func (c *Transfer) DeleteCertificateWithContext(ctx aws.Context, input *DeleteCertificateInput, opts ...request.Option) (*DeleteCertificateOutput, error) { + req, out := c.DeleteCertificateRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeleteUser = "DeleteUser" +const opDeleteConnector = "DeleteConnector" -// DeleteUserRequest generates a "aws/request.Request" representing the -// client's request for the DeleteUser operation. The "output" return +// DeleteConnectorRequest generates a "aws/request.Request" representing the +// client's request for the DeleteConnector 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 DeleteUser for more information on using the DeleteUser +// See DeleteConnector for more information on using the DeleteConnector // 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 DeleteUserRequest method. -// req, resp := client.DeleteUserRequest(params) +// // Example sending a request using the DeleteConnectorRequest method. +// req, resp := client.DeleteConnectorRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteUser -func (c *Transfer) DeleteUserRequest(input *DeleteUserInput) (req *request.Request, output *DeleteUserOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteConnector +func (c *Transfer) DeleteConnectorRequest(input *DeleteConnectorInput) (req *request.Request, output *DeleteConnectorOutput) { op := &request.Operation{ - Name: opDeleteUser, + Name: opDeleteConnector, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DeleteUserInput{} + input = &DeleteConnectorInput{} } - output = &DeleteUserOutput{} + output = &DeleteConnectorOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DeleteUser API operation for AWS Transfer Family. -// -// Deletes the user belonging to a file transfer protocol-enabled server you -// specify. -// -// No response returns from this operation. +// DeleteConnector API operation for AWS Transfer Family. // -// When you delete a user from a server, the user's information is lost. +// Deletes the agreement that's specified in the provided ConnectorId. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Transfer Family's -// API operation DeleteUser for usage and error information. +// API operation DeleteConnector for usage and error information. // // Returned Error Types: // * ServiceUnavailableException @@ -774,86 +1050,83 @@ func (c *Transfer) DeleteUserRequest(input *DeleteUserInput) (req *request.Reque // This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer // Family service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteUser -func (c *Transfer) DeleteUser(input *DeleteUserInput) (*DeleteUserOutput, error) { - req, out := c.DeleteUserRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteConnector +func (c *Transfer) DeleteConnector(input *DeleteConnectorInput) (*DeleteConnectorOutput, error) { + req, out := c.DeleteConnectorRequest(input) return out, req.Send() } -// DeleteUserWithContext is the same as DeleteUser with the addition of +// DeleteConnectorWithContext is the same as DeleteConnector with the addition of // the ability to pass a context and additional request options. // -// See DeleteUser for details on how to use this API operation. +// See DeleteConnector 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 *Transfer) DeleteUserWithContext(ctx aws.Context, input *DeleteUserInput, opts ...request.Option) (*DeleteUserOutput, error) { - req, out := c.DeleteUserRequest(input) +func (c *Transfer) DeleteConnectorWithContext(ctx aws.Context, input *DeleteConnectorInput, opts ...request.Option) (*DeleteConnectorOutput, error) { + req, out := c.DeleteConnectorRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeleteWorkflow = "DeleteWorkflow" +const opDeleteProfile = "DeleteProfile" -// DeleteWorkflowRequest generates a "aws/request.Request" representing the -// client's request for the DeleteWorkflow operation. The "output" return +// DeleteProfileRequest generates a "aws/request.Request" representing the +// client's request for the DeleteProfile 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 DeleteWorkflow for more information on using the DeleteWorkflow +// See DeleteProfile for more information on using the DeleteProfile // 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 DeleteWorkflowRequest method. -// req, resp := client.DeleteWorkflowRequest(params) +// // Example sending a request using the DeleteProfileRequest method. +// req, resp := client.DeleteProfileRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteWorkflow -func (c *Transfer) DeleteWorkflowRequest(input *DeleteWorkflowInput) (req *request.Request, output *DeleteWorkflowOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteProfile +func (c *Transfer) DeleteProfileRequest(input *DeleteProfileInput) (req *request.Request, output *DeleteProfileOutput) { op := &request.Operation{ - Name: opDeleteWorkflow, + Name: opDeleteProfile, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DeleteWorkflowInput{} + input = &DeleteProfileInput{} } - output = &DeleteWorkflowOutput{} + output = &DeleteProfileOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DeleteWorkflow API operation for AWS Transfer Family. +// DeleteProfile API operation for AWS Transfer Family. // -// Deletes the specified workflow. +// Deletes the profile that's specified in the ProfileId parameter. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Transfer Family's -// API operation DeleteWorkflow for usage and error information. +// API operation DeleteProfile for usage and error information. // // Returned Error Types: -// * AccessDeniedException -// You do not have sufficient access to perform this action. -// // * ServiceUnavailableException // The request has failed because the Amazon Web ServicesTransfer Family service // is not available. @@ -869,86 +1142,88 @@ func (c *Transfer) DeleteWorkflowRequest(input *DeleteWorkflowInput) (req *reque // This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer // Family service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteWorkflow -func (c *Transfer) DeleteWorkflow(input *DeleteWorkflowInput) (*DeleteWorkflowOutput, error) { - req, out := c.DeleteWorkflowRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteProfile +func (c *Transfer) DeleteProfile(input *DeleteProfileInput) (*DeleteProfileOutput, error) { + req, out := c.DeleteProfileRequest(input) return out, req.Send() } -// DeleteWorkflowWithContext is the same as DeleteWorkflow with the addition of +// DeleteProfileWithContext is the same as DeleteProfile with the addition of // the ability to pass a context and additional request options. // -// See DeleteWorkflow for details on how to use this API operation. +// See DeleteProfile 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 *Transfer) DeleteWorkflowWithContext(ctx aws.Context, input *DeleteWorkflowInput, opts ...request.Option) (*DeleteWorkflowOutput, error) { - req, out := c.DeleteWorkflowRequest(input) +func (c *Transfer) DeleteProfileWithContext(ctx aws.Context, input *DeleteProfileInput, opts ...request.Option) (*DeleteProfileOutput, error) { + req, out := c.DeleteProfileRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeAccess = "DescribeAccess" +const opDeleteServer = "DeleteServer" -// DescribeAccessRequest generates a "aws/request.Request" representing the -// client's request for the DescribeAccess operation. The "output" return +// DeleteServerRequest generates a "aws/request.Request" representing the +// client's request for the DeleteServer 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 DescribeAccess for more information on using the DescribeAccess +// See DeleteServer for more information on using the DeleteServer // 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 DescribeAccessRequest method. -// req, resp := client.DescribeAccessRequest(params) +// // Example sending a request using the DeleteServerRequest method. +// req, resp := client.DeleteServerRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeAccess -func (c *Transfer) DescribeAccessRequest(input *DescribeAccessInput) (req *request.Request, output *DescribeAccessOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteServer +func (c *Transfer) DeleteServerRequest(input *DeleteServerInput) (req *request.Request, output *DeleteServerOutput) { op := &request.Operation{ - Name: opDescribeAccess, + Name: opDeleteServer, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DescribeAccessInput{} + input = &DeleteServerInput{} } - output = &DescribeAccessOutput{} + output = &DeleteServerOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DescribeAccess API operation for AWS Transfer Family. +// DeleteServer API operation for AWS Transfer Family. // -// Describes the access that is assigned to the specific file transfer protocol-enabled -// server, as identified by its ServerId property and its ExternalID. +// Deletes the file transfer protocol-enabled server that you specify. // -// The response from this call returns the properties of the access that is -// associated with the ServerId value that was specified. +// No response returns from this operation. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Transfer Family's -// API operation DescribeAccess for usage and error information. +// API operation DeleteServer for usage and error information. // // Returned Error Types: +// * AccessDeniedException +// You do not have sufficient access to perform this action. +// // * ServiceUnavailableException // The request has failed because the Amazon Web ServicesTransfer Family service // is not available. @@ -964,81 +1239,81 @@ func (c *Transfer) DescribeAccessRequest(input *DescribeAccessInput) (req *reque // This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer // Family service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeAccess -func (c *Transfer) DescribeAccess(input *DescribeAccessInput) (*DescribeAccessOutput, error) { - req, out := c.DescribeAccessRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteServer +func (c *Transfer) DeleteServer(input *DeleteServerInput) (*DeleteServerOutput, error) { + req, out := c.DeleteServerRequest(input) return out, req.Send() } -// DescribeAccessWithContext is the same as DescribeAccess with the addition of +// DeleteServerWithContext is the same as DeleteServer with the addition of // the ability to pass a context and additional request options. // -// See DescribeAccess for details on how to use this API operation. +// See DeleteServer 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 *Transfer) DescribeAccessWithContext(ctx aws.Context, input *DescribeAccessInput, opts ...request.Option) (*DescribeAccessOutput, error) { - req, out := c.DescribeAccessRequest(input) +func (c *Transfer) DeleteServerWithContext(ctx aws.Context, input *DeleteServerInput, opts ...request.Option) (*DeleteServerOutput, error) { + req, out := c.DeleteServerRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeExecution = "DescribeExecution" +const opDeleteSshPublicKey = "DeleteSshPublicKey" -// DescribeExecutionRequest generates a "aws/request.Request" representing the -// client's request for the DescribeExecution operation. The "output" return +// DeleteSshPublicKeyRequest generates a "aws/request.Request" representing the +// client's request for the DeleteSshPublicKey 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 DescribeExecution for more information on using the DescribeExecution +// See DeleteSshPublicKey for more information on using the DeleteSshPublicKey // 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 DescribeExecutionRequest method. -// req, resp := client.DescribeExecutionRequest(params) +// // Example sending a request using the DeleteSshPublicKeyRequest method. +// req, resp := client.DeleteSshPublicKeyRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeExecution -func (c *Transfer) DescribeExecutionRequest(input *DescribeExecutionInput) (req *request.Request, output *DescribeExecutionOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteSshPublicKey +func (c *Transfer) DeleteSshPublicKeyRequest(input *DeleteSshPublicKeyInput) (req *request.Request, output *DeleteSshPublicKeyOutput) { op := &request.Operation{ - Name: opDescribeExecution, + Name: opDeleteSshPublicKey, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DescribeExecutionInput{} + input = &DeleteSshPublicKeyInput{} } - output = &DescribeExecutionOutput{} + output = &DeleteSshPublicKeyOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DescribeExecution API operation for AWS Transfer Family. +// DeleteSshPublicKey API operation for AWS Transfer Family. // -// You can use DescribeExecution to check the details of the execution of the -// specified workflow. +// Deletes a user's Secure Shell (SSH) public key. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Transfer Family's -// API operation DescribeExecution for usage and error information. +// API operation DeleteSshPublicKey for usage and error information. // // Returned Error Types: // * ServiceUnavailableException @@ -1056,83 +1331,89 @@ func (c *Transfer) DescribeExecutionRequest(input *DescribeExecutionInput) (req // This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer // Family service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeExecution -func (c *Transfer) DescribeExecution(input *DescribeExecutionInput) (*DescribeExecutionOutput, error) { - req, out := c.DescribeExecutionRequest(input) +// * ThrottlingException +// The request was denied due to request throttling. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteSshPublicKey +func (c *Transfer) DeleteSshPublicKey(input *DeleteSshPublicKeyInput) (*DeleteSshPublicKeyOutput, error) { + req, out := c.DeleteSshPublicKeyRequest(input) return out, req.Send() } -// DescribeExecutionWithContext is the same as DescribeExecution with the addition of +// DeleteSshPublicKeyWithContext is the same as DeleteSshPublicKey with the addition of // the ability to pass a context and additional request options. // -// See DescribeExecution for details on how to use this API operation. +// See DeleteSshPublicKey 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 *Transfer) DescribeExecutionWithContext(ctx aws.Context, input *DescribeExecutionInput, opts ...request.Option) (*DescribeExecutionOutput, error) { - req, out := c.DescribeExecutionRequest(input) +func (c *Transfer) DeleteSshPublicKeyWithContext(ctx aws.Context, input *DeleteSshPublicKeyInput, opts ...request.Option) (*DeleteSshPublicKeyOutput, error) { + req, out := c.DeleteSshPublicKeyRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeSecurityPolicy = "DescribeSecurityPolicy" +const opDeleteUser = "DeleteUser" -// DescribeSecurityPolicyRequest generates a "aws/request.Request" representing the -// client's request for the DescribeSecurityPolicy operation. The "output" return +// DeleteUserRequest generates a "aws/request.Request" representing the +// client's request for the DeleteUser 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 DescribeSecurityPolicy for more information on using the DescribeSecurityPolicy +// See DeleteUser for more information on using the DeleteUser // 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 DescribeSecurityPolicyRequest method. -// req, resp := client.DescribeSecurityPolicyRequest(params) +// // Example sending a request using the DeleteUserRequest method. +// req, resp := client.DeleteUserRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeSecurityPolicy -func (c *Transfer) DescribeSecurityPolicyRequest(input *DescribeSecurityPolicyInput) (req *request.Request, output *DescribeSecurityPolicyOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteUser +func (c *Transfer) DeleteUserRequest(input *DeleteUserInput) (req *request.Request, output *DeleteUserOutput) { op := &request.Operation{ - Name: opDescribeSecurityPolicy, + Name: opDeleteUser, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DescribeSecurityPolicyInput{} + input = &DeleteUserInput{} } - output = &DescribeSecurityPolicyOutput{} + output = &DeleteUserOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DescribeSecurityPolicy API operation for AWS Transfer Family. +// DeleteUser API operation for AWS Transfer Family. // -// Describes the security policy that is attached to your file transfer protocol-enabled -// server. The response contains a description of the security policy's properties. -// For more information about security policies, see Working with security policies -// (https://docs.aws.amazon.com/transfer/latest/userguide/security-policies.html). +// Deletes the user belonging to a file transfer protocol-enabled server you +// specify. +// +// No response returns from this operation. +// +// When you delete a user from a server, the user's information is lost. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Transfer Family's -// API operation DescribeSecurityPolicy for usage and error information. +// API operation DeleteUser for usage and error information. // // Returned Error Types: // * ServiceUnavailableException @@ -1150,86 +1431,86 @@ func (c *Transfer) DescribeSecurityPolicyRequest(input *DescribeSecurityPolicyIn // This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer // Family service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeSecurityPolicy -func (c *Transfer) DescribeSecurityPolicy(input *DescribeSecurityPolicyInput) (*DescribeSecurityPolicyOutput, error) { - req, out := c.DescribeSecurityPolicyRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteUser +func (c *Transfer) DeleteUser(input *DeleteUserInput) (*DeleteUserOutput, error) { + req, out := c.DeleteUserRequest(input) return out, req.Send() } -// DescribeSecurityPolicyWithContext is the same as DescribeSecurityPolicy with the addition of +// DeleteUserWithContext is the same as DeleteUser with the addition of // the ability to pass a context and additional request options. // -// See DescribeSecurityPolicy for details on how to use this API operation. +// See DeleteUser 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 *Transfer) DescribeSecurityPolicyWithContext(ctx aws.Context, input *DescribeSecurityPolicyInput, opts ...request.Option) (*DescribeSecurityPolicyOutput, error) { - req, out := c.DescribeSecurityPolicyRequest(input) +func (c *Transfer) DeleteUserWithContext(ctx aws.Context, input *DeleteUserInput, opts ...request.Option) (*DeleteUserOutput, error) { + req, out := c.DeleteUserRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeServer = "DescribeServer" +const opDeleteWorkflow = "DeleteWorkflow" -// DescribeServerRequest generates a "aws/request.Request" representing the -// client's request for the DescribeServer operation. The "output" return +// DeleteWorkflowRequest generates a "aws/request.Request" representing the +// client's request for the DeleteWorkflow 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 DescribeServer for more information on using the DescribeServer +// See DeleteWorkflow for more information on using the DeleteWorkflow // 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 DescribeServerRequest method. -// req, resp := client.DescribeServerRequest(params) +// // Example sending a request using the DeleteWorkflowRequest method. +// req, resp := client.DeleteWorkflowRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeServer -func (c *Transfer) DescribeServerRequest(input *DescribeServerInput) (req *request.Request, output *DescribeServerOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteWorkflow +func (c *Transfer) DeleteWorkflowRequest(input *DeleteWorkflowInput) (req *request.Request, output *DeleteWorkflowOutput) { op := &request.Operation{ - Name: opDescribeServer, + Name: opDeleteWorkflow, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DescribeServerInput{} + input = &DeleteWorkflowInput{} } - output = &DescribeServerOutput{} + output = &DeleteWorkflowOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DescribeServer API operation for AWS Transfer Family. -// -// Describes a file transfer protocol-enabled server that you specify by passing -// the ServerId parameter. +// DeleteWorkflow API operation for AWS Transfer Family. // -// The response contains a description of a server's properties. When you set -// EndpointType to VPC, the response will contain the EndpointDetails. +// Deletes the specified workflow. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Transfer Family's -// API operation DescribeServer for usage and error information. +// API operation DeleteWorkflow for usage and error information. // // Returned Error Types: +// * AccessDeniedException +// You do not have sufficient access to perform this action. +// // * ServiceUnavailableException // The request has failed because the Amazon Web ServicesTransfer Family service // is not available. @@ -1245,84 +1526,84 @@ func (c *Transfer) DescribeServerRequest(input *DescribeServerInput) (req *reque // This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer // Family service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeServer -func (c *Transfer) DescribeServer(input *DescribeServerInput) (*DescribeServerOutput, error) { - req, out := c.DescribeServerRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteWorkflow +func (c *Transfer) DeleteWorkflow(input *DeleteWorkflowInput) (*DeleteWorkflowOutput, error) { + req, out := c.DeleteWorkflowRequest(input) return out, req.Send() } -// DescribeServerWithContext is the same as DescribeServer with the addition of +// DeleteWorkflowWithContext is the same as DeleteWorkflow with the addition of // the ability to pass a context and additional request options. // -// See DescribeServer for details on how to use this API operation. +// See DeleteWorkflow 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 *Transfer) DescribeServerWithContext(ctx aws.Context, input *DescribeServerInput, opts ...request.Option) (*DescribeServerOutput, error) { - req, out := c.DescribeServerRequest(input) +func (c *Transfer) DeleteWorkflowWithContext(ctx aws.Context, input *DeleteWorkflowInput, opts ...request.Option) (*DeleteWorkflowOutput, error) { + req, out := c.DeleteWorkflowRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeUser = "DescribeUser" +const opDescribeAccess = "DescribeAccess" -// DescribeUserRequest generates a "aws/request.Request" representing the -// client's request for the DescribeUser operation. The "output" return +// DescribeAccessRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAccess 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 DescribeUser for more information on using the DescribeUser +// See DescribeAccess for more information on using the DescribeAccess // 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 DescribeUserRequest method. -// req, resp := client.DescribeUserRequest(params) +// // Example sending a request using the DescribeAccessRequest method. +// req, resp := client.DescribeAccessRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeUser -func (c *Transfer) DescribeUserRequest(input *DescribeUserInput) (req *request.Request, output *DescribeUserOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeAccess +func (c *Transfer) DescribeAccessRequest(input *DescribeAccessInput) (req *request.Request, output *DescribeAccessOutput) { op := &request.Operation{ - Name: opDescribeUser, + Name: opDescribeAccess, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DescribeUserInput{} + input = &DescribeAccessInput{} } - output = &DescribeUserOutput{} + output = &DescribeAccessOutput{} req = c.newRequest(op, input, output) return } -// DescribeUser API operation for AWS Transfer Family. +// DescribeAccess API operation for AWS Transfer Family. // -// Describes the user assigned to the specific file transfer protocol-enabled -// server, as identified by its ServerId property. +// Describes the access that is assigned to the specific file transfer protocol-enabled +// server, as identified by its ServerId property and its ExternalId. // -// The response from this call returns the properties of the user associated -// with the ServerId value that was specified. +// The response from this call returns the properties of the access that is +// associated with the ServerId value that was specified. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Transfer Family's -// API operation DescribeUser for usage and error information. +// API operation DescribeAccess for usage and error information. // // Returned Error Types: // * ServiceUnavailableException @@ -1340,80 +1621,80 @@ func (c *Transfer) DescribeUserRequest(input *DescribeUserInput) (req *request.R // This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer // Family service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeUser -func (c *Transfer) DescribeUser(input *DescribeUserInput) (*DescribeUserOutput, error) { - req, out := c.DescribeUserRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeAccess +func (c *Transfer) DescribeAccess(input *DescribeAccessInput) (*DescribeAccessOutput, error) { + req, out := c.DescribeAccessRequest(input) return out, req.Send() } -// DescribeUserWithContext is the same as DescribeUser with the addition of +// DescribeAccessWithContext is the same as DescribeAccess with the addition of // the ability to pass a context and additional request options. // -// See DescribeUser for details on how to use this API operation. +// See DescribeAccess 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 *Transfer) DescribeUserWithContext(ctx aws.Context, input *DescribeUserInput, opts ...request.Option) (*DescribeUserOutput, error) { - req, out := c.DescribeUserRequest(input) +func (c *Transfer) DescribeAccessWithContext(ctx aws.Context, input *DescribeAccessInput, opts ...request.Option) (*DescribeAccessOutput, error) { + req, out := c.DescribeAccessRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeWorkflow = "DescribeWorkflow" +const opDescribeAgreement = "DescribeAgreement" -// DescribeWorkflowRequest generates a "aws/request.Request" representing the -// client's request for the DescribeWorkflow operation. The "output" return +// DescribeAgreementRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAgreement 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 DescribeWorkflow for more information on using the DescribeWorkflow +// See DescribeAgreement for more information on using the DescribeAgreement // 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 DescribeWorkflowRequest method. -// req, resp := client.DescribeWorkflowRequest(params) +// // Example sending a request using the DescribeAgreementRequest method. +// req, resp := client.DescribeAgreementRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeWorkflow -func (c *Transfer) DescribeWorkflowRequest(input *DescribeWorkflowInput) (req *request.Request, output *DescribeWorkflowOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeAgreement +func (c *Transfer) DescribeAgreementRequest(input *DescribeAgreementInput) (req *request.Request, output *DescribeAgreementOutput) { op := &request.Operation{ - Name: opDescribeWorkflow, + Name: opDescribeAgreement, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DescribeWorkflowInput{} + input = &DescribeAgreementInput{} } - output = &DescribeWorkflowOutput{} + output = &DescribeAgreementOutput{} req = c.newRequest(op, input, output) return } -// DescribeWorkflow API operation for AWS Transfer Family. +// DescribeAgreement API operation for AWS Transfer Family. // -// Describes the specified workflow. +// Describes the agreement that's identified by the AgreementId. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Transfer Family's -// API operation DescribeWorkflow for usage and error information. +// API operation DescribeAgreement for usage and error information. // // Returned Error Types: // * ServiceUnavailableException @@ -1431,85 +1712,80 @@ func (c *Transfer) DescribeWorkflowRequest(input *DescribeWorkflowInput) (req *r // This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer // Family service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeWorkflow -func (c *Transfer) DescribeWorkflow(input *DescribeWorkflowInput) (*DescribeWorkflowOutput, error) { - req, out := c.DescribeWorkflowRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeAgreement +func (c *Transfer) DescribeAgreement(input *DescribeAgreementInput) (*DescribeAgreementOutput, error) { + req, out := c.DescribeAgreementRequest(input) return out, req.Send() } -// DescribeWorkflowWithContext is the same as DescribeWorkflow with the addition of +// DescribeAgreementWithContext is the same as DescribeAgreement with the addition of // the ability to pass a context and additional request options. // -// See DescribeWorkflow for details on how to use this API operation. +// See DescribeAgreement 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 *Transfer) DescribeWorkflowWithContext(ctx aws.Context, input *DescribeWorkflowInput, opts ...request.Option) (*DescribeWorkflowOutput, error) { - req, out := c.DescribeWorkflowRequest(input) +func (c *Transfer) DescribeAgreementWithContext(ctx aws.Context, input *DescribeAgreementInput, opts ...request.Option) (*DescribeAgreementOutput, error) { + req, out := c.DescribeAgreementRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opImportSshPublicKey = "ImportSshPublicKey" +const opDescribeCertificate = "DescribeCertificate" -// ImportSshPublicKeyRequest generates a "aws/request.Request" representing the -// client's request for the ImportSshPublicKey operation. The "output" return +// DescribeCertificateRequest generates a "aws/request.Request" representing the +// client's request for the DescribeCertificate 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 ImportSshPublicKey for more information on using the ImportSshPublicKey +// See DescribeCertificate for more information on using the DescribeCertificate // 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 ImportSshPublicKeyRequest method. -// req, resp := client.ImportSshPublicKeyRequest(params) +// // Example sending a request using the DescribeCertificateRequest method. +// req, resp := client.DescribeCertificateRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ImportSshPublicKey -func (c *Transfer) ImportSshPublicKeyRequest(input *ImportSshPublicKeyInput) (req *request.Request, output *ImportSshPublicKeyOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeCertificate +func (c *Transfer) DescribeCertificateRequest(input *DescribeCertificateInput) (req *request.Request, output *DescribeCertificateOutput) { op := &request.Operation{ - Name: opImportSshPublicKey, + Name: opDescribeCertificate, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &ImportSshPublicKeyInput{} + input = &DescribeCertificateInput{} } - output = &ImportSshPublicKeyOutput{} + output = &DescribeCertificateOutput{} req = c.newRequest(op, input, output) return } -// ImportSshPublicKey API operation for AWS Transfer Family. -// -// Adds a Secure Shell (SSH) public key to a user account identified by a UserName -// value assigned to the specific file transfer protocol-enabled server, identified -// by ServerId. +// DescribeCertificate API operation for AWS Transfer Family. // -// The response returns the UserName value, the ServerId value, and the name -// of the SshPublicKeyId. +// Describes the certificate that's identified by the CertificateId. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Transfer Family's -// API operation ImportSshPublicKey for usage and error information. +// API operation DescribeCertificate for usage and error information. // // Returned Error Types: // * ServiceUnavailableException @@ -1523,96 +1799,84 @@ func (c *Transfer) ImportSshPublicKeyRequest(input *ImportSshPublicKeyInput) (re // * InvalidRequestException // This exception is thrown when the client submits a malformed request. // -// * ResourceExistsException -// The requested resource does not exist. -// // * ResourceNotFoundException // This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer // Family service. // -// * ThrottlingException -// The request was denied due to request throttling. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ImportSshPublicKey -func (c *Transfer) ImportSshPublicKey(input *ImportSshPublicKeyInput) (*ImportSshPublicKeyOutput, error) { - req, out := c.ImportSshPublicKeyRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeCertificate +func (c *Transfer) DescribeCertificate(input *DescribeCertificateInput) (*DescribeCertificateOutput, error) { + req, out := c.DescribeCertificateRequest(input) return out, req.Send() } -// ImportSshPublicKeyWithContext is the same as ImportSshPublicKey with the addition of +// DescribeCertificateWithContext is the same as DescribeCertificate with the addition of // the ability to pass a context and additional request options. // -// See ImportSshPublicKey for details on how to use this API operation. +// See DescribeCertificate 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 *Transfer) ImportSshPublicKeyWithContext(ctx aws.Context, input *ImportSshPublicKeyInput, opts ...request.Option) (*ImportSshPublicKeyOutput, error) { - req, out := c.ImportSshPublicKeyRequest(input) +func (c *Transfer) DescribeCertificateWithContext(ctx aws.Context, input *DescribeCertificateInput, opts ...request.Option) (*DescribeCertificateOutput, error) { + req, out := c.DescribeCertificateRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListAccesses = "ListAccesses" +const opDescribeConnector = "DescribeConnector" -// ListAccessesRequest generates a "aws/request.Request" representing the -// client's request for the ListAccesses operation. The "output" return +// DescribeConnectorRequest generates a "aws/request.Request" representing the +// client's request for the DescribeConnector 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 ListAccesses for more information on using the ListAccesses +// See DescribeConnector for more information on using the DescribeConnector // 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 ListAccessesRequest method. -// req, resp := client.ListAccessesRequest(params) +// // Example sending a request using the DescribeConnectorRequest method. +// req, resp := client.DescribeConnectorRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListAccesses -func (c *Transfer) ListAccessesRequest(input *ListAccessesInput) (req *request.Request, output *ListAccessesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeConnector +func (c *Transfer) DescribeConnectorRequest(input *DescribeConnectorInput) (req *request.Request, output *DescribeConnectorOutput) { op := &request.Operation{ - Name: opListAccesses, + Name: opDescribeConnector, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, } if input == nil { - input = &ListAccessesInput{} + input = &DescribeConnectorInput{} } - output = &ListAccessesOutput{} + output = &DescribeConnectorOutput{} req = c.newRequest(op, input, output) return } -// ListAccesses API operation for AWS Transfer Family. +// DescribeConnector API operation for AWS Transfer Family. // -// Lists the details for all the accesses you have on your server. +// Describes the connector that's identified by the ConnectorId. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Transfer Family's -// API operation ListAccesses for usage and error information. +// API operation DescribeConnector for usage and error information. // // Returned Error Types: // * ServiceUnavailableException @@ -1623,9 +1887,6 @@ func (c *Transfer) ListAccessesRequest(input *ListAccessesInput) (req *request.R // This exception is thrown when an error occurs in the Amazon Web ServicesTransfer // Family service. // -// * InvalidNextTokenException -// The NextToken parameter that was passed is invalid. -// // * InvalidRequestException // This exception is thrown when the client submits a malformed request. // @@ -1633,138 +1894,81 @@ func (c *Transfer) ListAccessesRequest(input *ListAccessesInput) (req *request.R // This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer // Family service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListAccesses -func (c *Transfer) ListAccesses(input *ListAccessesInput) (*ListAccessesOutput, error) { - req, out := c.ListAccessesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeConnector +func (c *Transfer) DescribeConnector(input *DescribeConnectorInput) (*DescribeConnectorOutput, error) { + req, out := c.DescribeConnectorRequest(input) return out, req.Send() } -// ListAccessesWithContext is the same as ListAccesses with the addition of +// DescribeConnectorWithContext is the same as DescribeConnector with the addition of // the ability to pass a context and additional request options. // -// See ListAccesses for details on how to use this API operation. +// See DescribeConnector 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 *Transfer) ListAccessesWithContext(ctx aws.Context, input *ListAccessesInput, opts ...request.Option) (*ListAccessesOutput, error) { - req, out := c.ListAccessesRequest(input) +func (c *Transfer) DescribeConnectorWithContext(ctx aws.Context, input *DescribeConnectorInput, opts ...request.Option) (*DescribeConnectorOutput, error) { + req, out := c.DescribeConnectorRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListAccessesPages iterates over the pages of a ListAccesses operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See ListAccesses 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 ListAccesses operation. -// pageNum := 0 -// err := client.ListAccessesPages(params, -// func(page *transfer.ListAccessesOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *Transfer) ListAccessesPages(input *ListAccessesInput, fn func(*ListAccessesOutput, bool) bool) error { - return c.ListAccessesPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListAccessesPagesWithContext same as ListAccessesPages 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 *Transfer) ListAccessesPagesWithContext(ctx aws.Context, input *ListAccessesInput, fn func(*ListAccessesOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListAccessesInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListAccessesRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListAccessesOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opListExecutions = "ListExecutions" +const opDescribeExecution = "DescribeExecution" -// ListExecutionsRequest generates a "aws/request.Request" representing the -// client's request for the ListExecutions operation. The "output" return +// DescribeExecutionRequest generates a "aws/request.Request" representing the +// client's request for the DescribeExecution 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 ListExecutions for more information on using the ListExecutions +// See DescribeExecution for more information on using the DescribeExecution // 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 ListExecutionsRequest method. -// req, resp := client.ListExecutionsRequest(params) +// // Example sending a request using the DescribeExecutionRequest method. +// req, resp := client.DescribeExecutionRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListExecutions -func (c *Transfer) ListExecutionsRequest(input *ListExecutionsInput) (req *request.Request, output *ListExecutionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeExecution +func (c *Transfer) DescribeExecutionRequest(input *DescribeExecutionInput) (req *request.Request, output *DescribeExecutionOutput) { op := &request.Operation{ - Name: opListExecutions, + Name: opDescribeExecution, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, } if input == nil { - input = &ListExecutionsInput{} + input = &DescribeExecutionInput{} } - output = &ListExecutionsOutput{} + output = &DescribeExecutionOutput{} req = c.newRequest(op, input, output) return } -// ListExecutions API operation for AWS Transfer Family. +// DescribeExecution API operation for AWS Transfer Family. // -// Lists all executions for the specified workflow. +// You can use DescribeExecution to check the details of the execution of the +// specified workflow. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Transfer Family's -// API operation ListExecutions for usage and error information. +// API operation DescribeExecution for usage and error information. // // Returned Error Types: // * ServiceUnavailableException @@ -1775,9 +1979,6 @@ func (c *Transfer) ListExecutionsRequest(input *ListExecutionsInput) (req *reque // This exception is thrown when an error occurs in the Amazon Web ServicesTransfer // Family service. // -// * InvalidNextTokenException -// The NextToken parameter that was passed is invalid. -// // * InvalidRequestException // This exception is thrown when the client submits a malformed request. // @@ -1785,139 +1986,80 @@ func (c *Transfer) ListExecutionsRequest(input *ListExecutionsInput) (req *reque // This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer // Family service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListExecutions -func (c *Transfer) ListExecutions(input *ListExecutionsInput) (*ListExecutionsOutput, error) { - req, out := c.ListExecutionsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeExecution +func (c *Transfer) DescribeExecution(input *DescribeExecutionInput) (*DescribeExecutionOutput, error) { + req, out := c.DescribeExecutionRequest(input) return out, req.Send() } -// ListExecutionsWithContext is the same as ListExecutions with the addition of +// DescribeExecutionWithContext is the same as DescribeExecution with the addition of // the ability to pass a context and additional request options. // -// See ListExecutions for details on how to use this API operation. +// See DescribeExecution 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 *Transfer) ListExecutionsWithContext(ctx aws.Context, input *ListExecutionsInput, opts ...request.Option) (*ListExecutionsOutput, error) { - req, out := c.ListExecutionsRequest(input) +func (c *Transfer) DescribeExecutionWithContext(ctx aws.Context, input *DescribeExecutionInput, opts ...request.Option) (*DescribeExecutionOutput, error) { + req, out := c.DescribeExecutionRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListExecutionsPages iterates over the pages of a ListExecutions operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See ListExecutions method for more information on how to use this operation. +const opDescribeProfile = "DescribeProfile" + +// DescribeProfileRequest generates a "aws/request.Request" representing the +// client's request for the DescribeProfile operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. // -// Note: This operation can generate multiple requests to a service. +// 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. // -// // Example iterating over at most 3 pages of a ListExecutions operation. -// pageNum := 0 -// err := client.ListExecutionsPages(params, -// func(page *transfer.ListExecutionsOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *Transfer) ListExecutionsPages(input *ListExecutionsInput, fn func(*ListExecutionsOutput, bool) bool) error { - return c.ListExecutionsPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListExecutionsPagesWithContext same as ListExecutionsPages 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 *Transfer) ListExecutionsPagesWithContext(ctx aws.Context, input *ListExecutionsInput, fn func(*ListExecutionsOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListExecutionsInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListExecutionsRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListExecutionsOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opListSecurityPolicies = "ListSecurityPolicies" - -// ListSecurityPoliciesRequest generates a "aws/request.Request" representing the -// client's request for the ListSecurityPolicies 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 ListSecurityPolicies for more information on using the ListSecurityPolicies -// API call, and error handling. +// See DescribeProfile for more information on using the DescribeProfile +// 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 ListSecurityPoliciesRequest method. -// req, resp := client.ListSecurityPoliciesRequest(params) +// // Example sending a request using the DescribeProfileRequest method. +// req, resp := client.DescribeProfileRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListSecurityPolicies -func (c *Transfer) ListSecurityPoliciesRequest(input *ListSecurityPoliciesInput) (req *request.Request, output *ListSecurityPoliciesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeProfile +func (c *Transfer) DescribeProfileRequest(input *DescribeProfileInput) (req *request.Request, output *DescribeProfileOutput) { op := &request.Operation{ - Name: opListSecurityPolicies, + Name: opDescribeProfile, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, } if input == nil { - input = &ListSecurityPoliciesInput{} + input = &DescribeProfileInput{} } - output = &ListSecurityPoliciesOutput{} + output = &DescribeProfileOutput{} req = c.newRequest(op, input, output) return } -// ListSecurityPolicies API operation for AWS Transfer Family. +// DescribeProfile API operation for AWS Transfer Family. // -// Lists the security policies that are attached to your file transfer protocol-enabled -// servers. +// Returns the details of the profile that's specified by the ProfileId. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Transfer Family's -// API operation ListSecurityPolicies for usage and error information. +// API operation DescribeProfile for usage and error information. // // Returned Error Types: // * ServiceUnavailableException @@ -1928,145 +2070,90 @@ func (c *Transfer) ListSecurityPoliciesRequest(input *ListSecurityPoliciesInput) // This exception is thrown when an error occurs in the Amazon Web ServicesTransfer // Family service. // -// * InvalidNextTokenException -// The NextToken parameter that was passed is invalid. -// // * InvalidRequestException // This exception is thrown when the client submits a malformed request. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListSecurityPolicies -func (c *Transfer) ListSecurityPolicies(input *ListSecurityPoliciesInput) (*ListSecurityPoliciesOutput, error) { - req, out := c.ListSecurityPoliciesRequest(input) +// * ResourceNotFoundException +// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer +// Family service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeProfile +func (c *Transfer) DescribeProfile(input *DescribeProfileInput) (*DescribeProfileOutput, error) { + req, out := c.DescribeProfileRequest(input) return out, req.Send() } -// ListSecurityPoliciesWithContext is the same as ListSecurityPolicies with the addition of +// DescribeProfileWithContext is the same as DescribeProfile with the addition of // the ability to pass a context and additional request options. // -// See ListSecurityPolicies for details on how to use this API operation. +// See DescribeProfile 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 *Transfer) ListSecurityPoliciesWithContext(ctx aws.Context, input *ListSecurityPoliciesInput, opts ...request.Option) (*ListSecurityPoliciesOutput, error) { - req, out := c.ListSecurityPoliciesRequest(input) +func (c *Transfer) DescribeProfileWithContext(ctx aws.Context, input *DescribeProfileInput, opts ...request.Option) (*DescribeProfileOutput, error) { + req, out := c.DescribeProfileRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListSecurityPoliciesPages iterates over the pages of a ListSecurityPolicies operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See ListSecurityPolicies 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 ListSecurityPolicies operation. -// pageNum := 0 -// err := client.ListSecurityPoliciesPages(params, -// func(page *transfer.ListSecurityPoliciesOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *Transfer) ListSecurityPoliciesPages(input *ListSecurityPoliciesInput, fn func(*ListSecurityPoliciesOutput, bool) bool) error { - return c.ListSecurityPoliciesPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListSecurityPoliciesPagesWithContext same as ListSecurityPoliciesPages 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 *Transfer) ListSecurityPoliciesPagesWithContext(ctx aws.Context, input *ListSecurityPoliciesInput, fn func(*ListSecurityPoliciesOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListSecurityPoliciesInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListSecurityPoliciesRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListSecurityPoliciesOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opListServers = "ListServers" +const opDescribeSecurityPolicy = "DescribeSecurityPolicy" -// ListServersRequest generates a "aws/request.Request" representing the -// client's request for the ListServers operation. The "output" return +// DescribeSecurityPolicyRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSecurityPolicy 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 ListServers for more information on using the ListServers +// See DescribeSecurityPolicy for more information on using the DescribeSecurityPolicy // 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 ListServersRequest method. -// req, resp := client.ListServersRequest(params) +// // Example sending a request using the DescribeSecurityPolicyRequest method. +// req, resp := client.DescribeSecurityPolicyRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListServers -func (c *Transfer) ListServersRequest(input *ListServersInput) (req *request.Request, output *ListServersOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeSecurityPolicy +func (c *Transfer) DescribeSecurityPolicyRequest(input *DescribeSecurityPolicyInput) (req *request.Request, output *DescribeSecurityPolicyOutput) { op := &request.Operation{ - Name: opListServers, + Name: opDescribeSecurityPolicy, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, } if input == nil { - input = &ListServersInput{} + input = &DescribeSecurityPolicyInput{} } - output = &ListServersOutput{} + output = &DescribeSecurityPolicyOutput{} req = c.newRequest(op, input, output) return } -// ListServers API operation for AWS Transfer Family. +// DescribeSecurityPolicy API operation for AWS Transfer Family. // -// Lists the file transfer protocol-enabled servers that are associated with -// your Amazon Web Services account. +// Describes the security policy that is attached to your file transfer protocol-enabled +// server. The response contains a description of the security policy's properties. +// For more information about security policies, see Working with security policies +// (https://docs.aws.amazon.com/transfer/latest/userguide/security-policies.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Transfer Family's -// API operation ListServers for usage and error information. +// API operation DescribeSecurityPolicy for usage and error information. // // Returned Error Types: // * ServiceUnavailableException @@ -2077,145 +2164,91 @@ func (c *Transfer) ListServersRequest(input *ListServersInput) (req *request.Req // This exception is thrown when an error occurs in the Amazon Web ServicesTransfer // Family service. // -// * InvalidNextTokenException -// The NextToken parameter that was passed is invalid. -// // * InvalidRequestException // This exception is thrown when the client submits a malformed request. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListServers -func (c *Transfer) ListServers(input *ListServersInput) (*ListServersOutput, error) { - req, out := c.ListServersRequest(input) +// * ResourceNotFoundException +// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer +// Family service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeSecurityPolicy +func (c *Transfer) DescribeSecurityPolicy(input *DescribeSecurityPolicyInput) (*DescribeSecurityPolicyOutput, error) { + req, out := c.DescribeSecurityPolicyRequest(input) return out, req.Send() } -// ListServersWithContext is the same as ListServers with the addition of +// DescribeSecurityPolicyWithContext is the same as DescribeSecurityPolicy with the addition of // the ability to pass a context and additional request options. // -// See ListServers for details on how to use this API operation. +// See DescribeSecurityPolicy 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 *Transfer) ListServersWithContext(ctx aws.Context, input *ListServersInput, opts ...request.Option) (*ListServersOutput, error) { - req, out := c.ListServersRequest(input) +func (c *Transfer) DescribeSecurityPolicyWithContext(ctx aws.Context, input *DescribeSecurityPolicyInput, opts ...request.Option) (*DescribeSecurityPolicyOutput, error) { + req, out := c.DescribeSecurityPolicyRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListServersPages iterates over the pages of a ListServers operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See ListServers 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 ListServers operation. -// pageNum := 0 -// err := client.ListServersPages(params, -// func(page *transfer.ListServersOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *Transfer) ListServersPages(input *ListServersInput, fn func(*ListServersOutput, bool) bool) error { - return c.ListServersPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListServersPagesWithContext same as ListServersPages 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 *Transfer) ListServersPagesWithContext(ctx aws.Context, input *ListServersInput, fn func(*ListServersOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListServersInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListServersRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListServersOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opListTagsForResource = "ListTagsForResource" +const opDescribeServer = "DescribeServer" -// ListTagsForResourceRequest generates a "aws/request.Request" representing the -// client's request for the ListTagsForResource operation. The "output" return +// DescribeServerRequest generates a "aws/request.Request" representing the +// client's request for the DescribeServer 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 DescribeServer for more information on using the DescribeServer // 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 DescribeServerRequest method. +// req, resp := client.DescribeServerRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListTagsForResource -func (c *Transfer) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeServer +func (c *Transfer) DescribeServerRequest(input *DescribeServerInput) (req *request.Request, output *DescribeServerOutput) { op := &request.Operation{ - Name: opListTagsForResource, + Name: opDescribeServer, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, } if input == nil { - input = &ListTagsForResourceInput{} + input = &DescribeServerInput{} } - output = &ListTagsForResourceOutput{} + output = &DescribeServerOutput{} req = c.newRequest(op, input, output) return } -// ListTagsForResource API operation for AWS Transfer Family. +// DescribeServer API operation for AWS Transfer Family. // -// Lists all of the tags associated with the Amazon Resource Name (ARN) that -// you specify. The resource can be a user, server, or role. +// Describes a file transfer protocol-enabled server that you specify by passing +// the ServerId parameter. +// +// The response contains a description of a server's properties. When you set +// EndpointType to VPC, the response will contain the EndpointDetails. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Transfer Family's -// API operation ListTagsForResource for usage and error information. +// API operation DescribeServer for usage and error information. // // Returned Error Types: // * ServiceUnavailableException @@ -2226,145 +2259,91 @@ func (c *Transfer) ListTagsForResourceRequest(input *ListTagsForResourceInput) ( // This exception is thrown when an error occurs in the Amazon Web ServicesTransfer // Family service. // -// * InvalidNextTokenException -// The NextToken parameter that was passed is invalid. -// // * InvalidRequestException // This exception is thrown when the client submits a malformed request. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListTagsForResource -func (c *Transfer) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +// * ResourceNotFoundException +// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer +// Family service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeServer +func (c *Transfer) DescribeServer(input *DescribeServerInput) (*DescribeServerOutput, error) { + req, out := c.DescribeServerRequest(input) return out, req.Send() } -// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// DescribeServerWithContext is the same as DescribeServer 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 DescribeServer 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 *Transfer) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +func (c *Transfer) DescribeServerWithContext(ctx aws.Context, input *DescribeServerInput, opts ...request.Option) (*DescribeServerOutput, error) { + req, out := c.DescribeServerRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListTagsForResourcePages iterates over the pages of a ListTagsForResource operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See ListTagsForResource 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 ListTagsForResource operation. -// pageNum := 0 -// err := client.ListTagsForResourcePages(params, -// func(page *transfer.ListTagsForResourceOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *Transfer) ListTagsForResourcePages(input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool) error { - return c.ListTagsForResourcePagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListTagsForResourcePagesWithContext same as ListTagsForResourcePages 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 *Transfer) ListTagsForResourcePagesWithContext(ctx aws.Context, input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListTagsForResourceInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListTagsForResourceRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListTagsForResourceOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opListUsers = "ListUsers" +const opDescribeUser = "DescribeUser" -// ListUsersRequest generates a "aws/request.Request" representing the -// client's request for the ListUsers operation. The "output" return +// DescribeUserRequest generates a "aws/request.Request" representing the +// client's request for the DescribeUser 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 ListUsers for more information on using the ListUsers +// See DescribeUser for more information on using the DescribeUser // 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 ListUsersRequest method. -// req, resp := client.ListUsersRequest(params) +// // Example sending a request using the DescribeUserRequest method. +// req, resp := client.DescribeUserRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListUsers -func (c *Transfer) ListUsersRequest(input *ListUsersInput) (req *request.Request, output *ListUsersOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeUser +func (c *Transfer) DescribeUserRequest(input *DescribeUserInput) (req *request.Request, output *DescribeUserOutput) { op := &request.Operation{ - Name: opListUsers, + Name: opDescribeUser, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, } if input == nil { - input = &ListUsersInput{} + input = &DescribeUserInput{} } - output = &ListUsersOutput{} + output = &DescribeUserOutput{} req = c.newRequest(op, input, output) return } -// ListUsers API operation for AWS Transfer Family. +// DescribeUser API operation for AWS Transfer Family. // -// Lists the users for a file transfer protocol-enabled server that you specify -// by passing the ServerId parameter. +// Describes the user assigned to the specific file transfer protocol-enabled +// server, as identified by its ServerId property. +// +// The response from this call returns the properties of the user associated +// with the ServerId value that was specified. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Transfer Family's -// API operation ListUsers for usage and error information. +// API operation DescribeUser for usage and error information. // // Returned Error Types: // * ServiceUnavailableException @@ -2375,9 +2354,6 @@ func (c *Transfer) ListUsersRequest(input *ListUsersInput) (req *request.Request // This exception is thrown when an error occurs in the Amazon Web ServicesTransfer // Family service. // -// * InvalidNextTokenException -// The NextToken parameter that was passed is invalid. -// // * InvalidRequestException // This exception is thrown when the client submits a malformed request. // @@ -2385,138 +2361,80 @@ func (c *Transfer) ListUsersRequest(input *ListUsersInput) (req *request.Request // This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer // Family service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListUsers -func (c *Transfer) ListUsers(input *ListUsersInput) (*ListUsersOutput, error) { - req, out := c.ListUsersRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeUser +func (c *Transfer) DescribeUser(input *DescribeUserInput) (*DescribeUserOutput, error) { + req, out := c.DescribeUserRequest(input) return out, req.Send() } -// ListUsersWithContext is the same as ListUsers with the addition of +// DescribeUserWithContext is the same as DescribeUser with the addition of // the ability to pass a context and additional request options. // -// See ListUsers for details on how to use this API operation. +// See DescribeUser 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 *Transfer) ListUsersWithContext(ctx aws.Context, input *ListUsersInput, opts ...request.Option) (*ListUsersOutput, error) { - req, out := c.ListUsersRequest(input) +func (c *Transfer) DescribeUserWithContext(ctx aws.Context, input *DescribeUserInput, opts ...request.Option) (*DescribeUserOutput, error) { + req, out := c.DescribeUserRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListUsersPages iterates over the pages of a ListUsers operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See ListUsers method for more information on how to use this operation. -// -// Note: This operation can generate multiple requests to a service. -// -// // Example iterating over at most 3 pages of a ListUsers operation. -// pageNum := 0 -// err := client.ListUsersPages(params, -// func(page *transfer.ListUsersOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *Transfer) ListUsersPages(input *ListUsersInput, fn func(*ListUsersOutput, bool) bool) error { - return c.ListUsersPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListUsersPagesWithContext same as ListUsersPages 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 *Transfer) ListUsersPagesWithContext(ctx aws.Context, input *ListUsersInput, fn func(*ListUsersOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListUsersInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListUsersRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListUsersOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opListWorkflows = "ListWorkflows" +const opDescribeWorkflow = "DescribeWorkflow" -// ListWorkflowsRequest generates a "aws/request.Request" representing the -// client's request for the ListWorkflows operation. The "output" return +// DescribeWorkflowRequest generates a "aws/request.Request" representing the +// client's request for the DescribeWorkflow 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 ListWorkflows for more information on using the ListWorkflows +// See DescribeWorkflow for more information on using the DescribeWorkflow // 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 ListWorkflowsRequest method. -// req, resp := client.ListWorkflowsRequest(params) +// // Example sending a request using the DescribeWorkflowRequest method. +// req, resp := client.DescribeWorkflowRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListWorkflows -func (c *Transfer) ListWorkflowsRequest(input *ListWorkflowsInput) (req *request.Request, output *ListWorkflowsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeWorkflow +func (c *Transfer) DescribeWorkflowRequest(input *DescribeWorkflowInput) (req *request.Request, output *DescribeWorkflowOutput) { op := &request.Operation{ - Name: opListWorkflows, + Name: opDescribeWorkflow, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, } if input == nil { - input = &ListWorkflowsInput{} + input = &DescribeWorkflowInput{} } - output = &ListWorkflowsOutput{} + output = &DescribeWorkflowOutput{} req = c.newRequest(op, input, output) return } -// ListWorkflows API operation for AWS Transfer Family. +// DescribeWorkflow API operation for AWS Transfer Family. // -// Lists all of your workflows. +// Describes the specified workflow. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Transfer Family's -// API operation ListWorkflows for usage and error information. +// API operation DescribeWorkflow for usage and error information. // // Returned Error Types: // * ServiceUnavailableException @@ -2527,148 +2445,90 @@ func (c *Transfer) ListWorkflowsRequest(input *ListWorkflowsInput) (req *request // This exception is thrown when an error occurs in the Amazon Web ServicesTransfer // Family service. // -// * InvalidNextTokenException -// The NextToken parameter that was passed is invalid. -// // * InvalidRequestException // This exception is thrown when the client submits a malformed request. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListWorkflows -func (c *Transfer) ListWorkflows(input *ListWorkflowsInput) (*ListWorkflowsOutput, error) { - req, out := c.ListWorkflowsRequest(input) +// * ResourceNotFoundException +// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer +// Family service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeWorkflow +func (c *Transfer) DescribeWorkflow(input *DescribeWorkflowInput) (*DescribeWorkflowOutput, error) { + req, out := c.DescribeWorkflowRequest(input) return out, req.Send() } -// ListWorkflowsWithContext is the same as ListWorkflows with the addition of +// DescribeWorkflowWithContext is the same as DescribeWorkflow with the addition of // the ability to pass a context and additional request options. // -// See ListWorkflows for details on how to use this API operation. +// See DescribeWorkflow 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 *Transfer) ListWorkflowsWithContext(ctx aws.Context, input *ListWorkflowsInput, opts ...request.Option) (*ListWorkflowsOutput, error) { - req, out := c.ListWorkflowsRequest(input) +func (c *Transfer) DescribeWorkflowWithContext(ctx aws.Context, input *DescribeWorkflowInput, opts ...request.Option) (*DescribeWorkflowOutput, error) { + req, out := c.DescribeWorkflowRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListWorkflowsPages iterates over the pages of a ListWorkflows operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See ListWorkflows 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 ListWorkflows operation. -// pageNum := 0 -// err := client.ListWorkflowsPages(params, -// func(page *transfer.ListWorkflowsOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *Transfer) ListWorkflowsPages(input *ListWorkflowsInput, fn func(*ListWorkflowsOutput, bool) bool) error { - return c.ListWorkflowsPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListWorkflowsPagesWithContext same as ListWorkflowsPages 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 *Transfer) ListWorkflowsPagesWithContext(ctx aws.Context, input *ListWorkflowsInput, fn func(*ListWorkflowsOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListWorkflowsInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListWorkflowsRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListWorkflowsOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opSendWorkflowStepState = "SendWorkflowStepState" +const opImportCertificate = "ImportCertificate" -// SendWorkflowStepStateRequest generates a "aws/request.Request" representing the -// client's request for the SendWorkflowStepState operation. The "output" return +// ImportCertificateRequest generates a "aws/request.Request" representing the +// client's request for the ImportCertificate 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 SendWorkflowStepState for more information on using the SendWorkflowStepState +// See ImportCertificate for more information on using the ImportCertificate // 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 SendWorkflowStepStateRequest method. -// req, resp := client.SendWorkflowStepStateRequest(params) +// // Example sending a request using the ImportCertificateRequest method. +// req, resp := client.ImportCertificateRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/SendWorkflowStepState -func (c *Transfer) SendWorkflowStepStateRequest(input *SendWorkflowStepStateInput) (req *request.Request, output *SendWorkflowStepStateOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ImportCertificate +func (c *Transfer) ImportCertificateRequest(input *ImportCertificateInput) (req *request.Request, output *ImportCertificateOutput) { op := &request.Operation{ - Name: opSendWorkflowStepState, + Name: opImportCertificate, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &SendWorkflowStepStateInput{} + input = &ImportCertificateInput{} } - output = &SendWorkflowStepStateOutput{} + output = &ImportCertificateOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// SendWorkflowStepState API operation for AWS Transfer Family. -// -// Sends a callback for asynchronous custom steps. +// ImportCertificate API operation for AWS Transfer Family. // -// The ExecutionId, WorkflowId, and Token are passed to the target resource -// during execution of a custom step of a workflow. You must include those with -// their callback as well as providing a status. +// Imports the signing and encryption certificates that you need to create local +// (AS2) profiles and partner profiles. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Transfer Family's -// API operation SendWorkflowStepState for usage and error information. +// API operation ImportCertificate for usage and error information. // // Returned Error Types: -// * AccessDeniedException -// You do not have sufficient access to perform this action. -// // * ServiceUnavailableException // The request has failed because the Amazon Web ServicesTransfer Family service // is not available. @@ -2684,92 +2544,85 @@ func (c *Transfer) SendWorkflowStepStateRequest(input *SendWorkflowStepStateInpu // This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer // Family service. // -// * ThrottlingException -// The request was denied due to request throttling. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/SendWorkflowStepState -func (c *Transfer) SendWorkflowStepState(input *SendWorkflowStepStateInput) (*SendWorkflowStepStateOutput, error) { - req, out := c.SendWorkflowStepStateRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ImportCertificate +func (c *Transfer) ImportCertificate(input *ImportCertificateInput) (*ImportCertificateOutput, error) { + req, out := c.ImportCertificateRequest(input) return out, req.Send() } -// SendWorkflowStepStateWithContext is the same as SendWorkflowStepState with the addition of +// ImportCertificateWithContext is the same as ImportCertificate with the addition of // the ability to pass a context and additional request options. // -// See SendWorkflowStepState for details on how to use this API operation. +// See ImportCertificate 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 *Transfer) SendWorkflowStepStateWithContext(ctx aws.Context, input *SendWorkflowStepStateInput, opts ...request.Option) (*SendWorkflowStepStateOutput, error) { - req, out := c.SendWorkflowStepStateRequest(input) +func (c *Transfer) ImportCertificateWithContext(ctx aws.Context, input *ImportCertificateInput, opts ...request.Option) (*ImportCertificateOutput, error) { + req, out := c.ImportCertificateRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opStartServer = "StartServer" +const opImportSshPublicKey = "ImportSshPublicKey" -// StartServerRequest generates a "aws/request.Request" representing the -// client's request for the StartServer operation. The "output" return +// ImportSshPublicKeyRequest generates a "aws/request.Request" representing the +// client's request for the ImportSshPublicKey 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 StartServer for more information on using the StartServer +// See ImportSshPublicKey for more information on using the ImportSshPublicKey // 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 StartServerRequest method. -// req, resp := client.StartServerRequest(params) +// // Example sending a request using the ImportSshPublicKeyRequest method. +// req, resp := client.ImportSshPublicKeyRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/StartServer -func (c *Transfer) StartServerRequest(input *StartServerInput) (req *request.Request, output *StartServerOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ImportSshPublicKey +func (c *Transfer) ImportSshPublicKeyRequest(input *ImportSshPublicKeyInput) (req *request.Request, output *ImportSshPublicKeyOutput) { op := &request.Operation{ - Name: opStartServer, + Name: opImportSshPublicKey, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &StartServerInput{} + input = &ImportSshPublicKeyInput{} } - output = &StartServerOutput{} + output = &ImportSshPublicKeyOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// StartServer API operation for AWS Transfer Family. -// -// Changes the state of a file transfer protocol-enabled server from OFFLINE -// to ONLINE. It has no impact on a server that is already ONLINE. An ONLINE -// server can accept and process file transfer jobs. +// ImportSshPublicKey API operation for AWS Transfer Family. // -// The state of STARTING indicates that the server is in an intermediate state, -// either not fully able to respond, or not fully online. The values of START_FAILED -// can indicate an error condition. +// Adds a Secure Shell (SSH) public key to a user account identified by a UserName +// value assigned to the specific file transfer protocol-enabled server, identified +// by ServerId. // -// No response is returned from this call. +// The response returns the UserName value, the ServerId value, and the name +// of the SshPublicKeyId. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Transfer Family's -// API operation StartServer for usage and error information. +// API operation ImportSshPublicKey for usage and error information. // // Returned Error Types: // * ServiceUnavailableException @@ -2783,6 +2636,9 @@ func (c *Transfer) StartServerRequest(input *StartServerInput) (req *request.Req // * InvalidRequestException // This exception is thrown when the client submits a malformed request. // +// * ResourceExistsException +// The requested resource does not exist. +// // * ResourceNotFoundException // This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer // Family service. @@ -2790,93 +2646,86 @@ func (c *Transfer) StartServerRequest(input *StartServerInput) (req *request.Req // * ThrottlingException // The request was denied due to request throttling. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/StartServer -func (c *Transfer) StartServer(input *StartServerInput) (*StartServerOutput, error) { - req, out := c.StartServerRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ImportSshPublicKey +func (c *Transfer) ImportSshPublicKey(input *ImportSshPublicKeyInput) (*ImportSshPublicKeyOutput, error) { + req, out := c.ImportSshPublicKeyRequest(input) return out, req.Send() } -// StartServerWithContext is the same as StartServer with the addition of +// ImportSshPublicKeyWithContext is the same as ImportSshPublicKey with the addition of // the ability to pass a context and additional request options. // -// See StartServer for details on how to use this API operation. +// See ImportSshPublicKey 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 *Transfer) StartServerWithContext(ctx aws.Context, input *StartServerInput, opts ...request.Option) (*StartServerOutput, error) { - req, out := c.StartServerRequest(input) +func (c *Transfer) ImportSshPublicKeyWithContext(ctx aws.Context, input *ImportSshPublicKeyInput, opts ...request.Option) (*ImportSshPublicKeyOutput, error) { + req, out := c.ImportSshPublicKeyRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opStopServer = "StopServer" +const opListAccesses = "ListAccesses" -// StopServerRequest generates a "aws/request.Request" representing the -// client's request for the StopServer operation. The "output" return +// ListAccessesRequest generates a "aws/request.Request" representing the +// client's request for the ListAccesses 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 StopServer for more information on using the StopServer +// See ListAccesses for more information on using the ListAccesses // 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 StopServerRequest method. -// req, resp := client.StopServerRequest(params) +// // Example sending a request using the ListAccessesRequest method. +// req, resp := client.ListAccessesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/StopServer -func (c *Transfer) StopServerRequest(input *StopServerInput) (req *request.Request, output *StopServerOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListAccesses +func (c *Transfer) ListAccessesRequest(input *ListAccessesInput) (req *request.Request, output *ListAccessesOutput) { op := &request.Operation{ - Name: opStopServer, + Name: opListAccesses, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &StopServerInput{} + input = &ListAccessesInput{} } - output = &StopServerOutput{} + output = &ListAccessesOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// StopServer API operation for AWS Transfer Family. -// -// Changes the state of a file transfer protocol-enabled server from ONLINE -// to OFFLINE. An OFFLINE server cannot accept and process file transfer jobs. -// Information tied to your server, such as server and user properties, are -// not affected by stopping your server. -// -// Stopping the server will not reduce or impact your file transfer protocol -// endpoint billing; you must delete the server to stop being billed. -// -// The state of STOPPING indicates that the server is in an intermediate state, -// either not fully able to respond, or not fully offline. The values of STOP_FAILED -// can indicate an error condition. +// ListAccesses API operation for AWS Transfer Family. // -// No response is returned from this call. +// Lists the details for all the accesses you have on your server. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Transfer Family's -// API operation StopServer for usage and error information. +// API operation ListAccesses for usage and error information. // // Returned Error Types: // * ServiceUnavailableException @@ -2887,6 +2736,9 @@ func (c *Transfer) StopServerRequest(input *StopServerInput) (req *request.Reque // This exception is thrown when an error occurs in the Amazon Web ServicesTransfer // Family service. // +// * InvalidNextTokenException +// The NextToken parameter that was passed is invalid. +// // * InvalidRequestException // This exception is thrown when the client submits a malformed request. // @@ -2894,87 +2746,142 @@ func (c *Transfer) StopServerRequest(input *StopServerInput) (req *request.Reque // This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer // Family service. // -// * ThrottlingException -// The request was denied due to request throttling. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/StopServer -func (c *Transfer) StopServer(input *StopServerInput) (*StopServerOutput, error) { - req, out := c.StopServerRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListAccesses +func (c *Transfer) ListAccesses(input *ListAccessesInput) (*ListAccessesOutput, error) { + req, out := c.ListAccessesRequest(input) return out, req.Send() } -// StopServerWithContext is the same as StopServer with the addition of +// ListAccessesWithContext is the same as ListAccesses with the addition of // the ability to pass a context and additional request options. // -// See StopServer for details on how to use this API operation. +// See ListAccesses 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 *Transfer) StopServerWithContext(ctx aws.Context, input *StopServerInput, opts ...request.Option) (*StopServerOutput, error) { - req, out := c.StopServerRequest(input) +func (c *Transfer) ListAccessesWithContext(ctx aws.Context, input *ListAccessesInput, opts ...request.Option) (*ListAccessesOutput, error) { + req, out := c.ListAccessesRequest(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. +// ListAccessesPages iterates over the pages of a ListAccesses operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. // +// See ListAccesses method for more information on how to use this operation. // -// // Example sending a request using the TagResourceRequest method. -// req, resp := client.TagResourceRequest(params) +// Note: This operation can generate multiple requests to a service. // -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } +// // Example iterating over at most 3 pages of a ListAccesses operation. +// pageNum := 0 +// err := client.ListAccessesPages(params, +// func(page *transfer.ListAccessesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/TagResource -func (c *Transfer) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { - op := &request.Operation{ - Name: opTagResource, - HTTPMethod: "POST", - HTTPPath: "/", - } +func (c *Transfer) ListAccessesPages(input *ListAccessesInput, fn func(*ListAccessesOutput, bool) bool) error { + return c.ListAccessesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListAccessesPagesWithContext same as ListAccessesPages 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 *Transfer) ListAccessesPagesWithContext(ctx aws.Context, input *ListAccessesInput, fn func(*ListAccessesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListAccessesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListAccessesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListAccessesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListAgreements = "ListAgreements" + +// ListAgreementsRequest generates a "aws/request.Request" representing the +// client's request for the ListAgreements 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 ListAgreements for more information on using the ListAgreements +// 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 ListAgreementsRequest method. +// req, resp := client.ListAgreementsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListAgreements +func (c *Transfer) ListAgreementsRequest(input *ListAgreementsInput) (req *request.Request, output *ListAgreementsOutput) { + op := &request.Operation{ + Name: opListAgreements, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } if input == nil { - input = &TagResourceInput{} + input = &ListAgreementsInput{} } - output = &TagResourceOutput{} + output = &ListAgreementsOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// TagResource API operation for AWS Transfer Family. -// -// Attaches a key-value pair to a resource, as identified by its Amazon Resource -// Name (ARN). Resources are users, servers, roles, and other entities. +// ListAgreements API operation for AWS Transfer Family. // -// There is no response returned from this call. +// Returns a list of the agreements for the server that's identified by the +// ServerId that you supply. If you want to limit the results to a certain number, +// supply a value for the MaxResults parameter. If you ran the command previously +// and received a value for NextToken, you can supply that value to continue +// listing agreements from where you left off. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Transfer Family's -// API operation TagResource for usage and error information. +// API operation ListAgreements for usage and error information. // // Returned Error Types: // * ServiceUnavailableException @@ -2985,6 +2892,9 @@ func (c *Transfer) TagResourceRequest(input *TagResourceInput) (req *request.Req // This exception is thrown when an error occurs in the Amazon Web ServicesTransfer // Family service. // +// * InvalidNextTokenException +// The NextToken parameter that was passed is invalid. +// // * InvalidRequestException // This exception is thrown when the client submits a malformed request. // @@ -2992,104 +2902,142 @@ func (c *Transfer) TagResourceRequest(input *TagResourceInput) (req *request.Req // This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer // Family service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/TagResource -func (c *Transfer) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListAgreements +func (c *Transfer) ListAgreements(input *ListAgreementsInput) (*ListAgreementsOutput, error) { + req, out := c.ListAgreementsRequest(input) return out, req.Send() } -// TagResourceWithContext is the same as TagResource with the addition of +// ListAgreementsWithContext is the same as ListAgreements 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 ListAgreements 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 *Transfer) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +func (c *Transfer) ListAgreementsWithContext(ctx aws.Context, input *ListAgreementsInput, opts ...request.Option) (*ListAgreementsOutput, error) { + req, out := c.ListAgreementsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opTestIdentityProvider = "TestIdentityProvider" +// ListAgreementsPages iterates over the pages of a ListAgreements operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListAgreements 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 ListAgreements operation. +// pageNum := 0 +// err := client.ListAgreementsPages(params, +// func(page *transfer.ListAgreementsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Transfer) ListAgreementsPages(input *ListAgreementsInput, fn func(*ListAgreementsOutput, bool) bool) error { + return c.ListAgreementsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// TestIdentityProviderRequest generates a "aws/request.Request" representing the -// client's request for the TestIdentityProvider operation. The "output" return +// ListAgreementsPagesWithContext same as ListAgreementsPages 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 *Transfer) ListAgreementsPagesWithContext(ctx aws.Context, input *ListAgreementsInput, fn func(*ListAgreementsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListAgreementsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListAgreementsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListAgreementsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListCertificates = "ListCertificates" + +// ListCertificatesRequest generates a "aws/request.Request" representing the +// client's request for the ListCertificates 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 TestIdentityProvider for more information on using the TestIdentityProvider +// See ListCertificates for more information on using the ListCertificates // 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 TestIdentityProviderRequest method. -// req, resp := client.TestIdentityProviderRequest(params) +// // Example sending a request using the ListCertificatesRequest method. +// req, resp := client.ListCertificatesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/TestIdentityProvider -func (c *Transfer) TestIdentityProviderRequest(input *TestIdentityProviderInput) (req *request.Request, output *TestIdentityProviderOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListCertificates +func (c *Transfer) ListCertificatesRequest(input *ListCertificatesInput) (req *request.Request, output *ListCertificatesOutput) { op := &request.Operation{ - Name: opTestIdentityProvider, + Name: opListCertificates, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &TestIdentityProviderInput{} + input = &ListCertificatesInput{} } - output = &TestIdentityProviderOutput{} + output = &ListCertificatesOutput{} req = c.newRequest(op, input, output) return } -// TestIdentityProvider API operation for AWS Transfer Family. -// -// If the IdentityProviderType of a file transfer protocol-enabled server is -// AWS_DIRECTORY_SERVICE or API_Gateway, tests whether your identity provider -// is set up successfully. We highly recommend that you call this operation -// to test your authentication method as soon as you create your server. By -// doing so, you can troubleshoot issues with the identity provider integration -// to ensure that your users can successfully use the service. -// -// The ServerId and UserName parameters are required. The ServerProtocol, SourceIp, -// and UserPassword are all optional. -// -// You cannot use TestIdentityProvider if the IdentityProviderType of your server -// is SERVICE_MANAGED. -// -// * If you provide any incorrect values for any parameters, the Response -// field is empty. -// -// * If you provide a server ID for a server that uses service-managed users, -// you get an error: An error occurred (InvalidRequestException) when calling -// the TestIdentityProvider operation: s-server-ID not configured for external -// auth +// ListCertificates API operation for AWS Transfer Family. // -// * If you enter a Server ID for the --server-id parameter that does not -// identify an actual Transfer server, you receive the following error: An -// error occurred (ResourceNotFoundException) when calling the TestIdentityProvider -// operation: Unknown server +// Returns a list of the current certificates that have been imported into Transfer +// Family. If you want to limit the results to a certain number, supply a value +// for the MaxResults parameter. If you ran the command previously and received +// a value for the NextToken parameter, you can supply that value to continue +// listing certificates from where you left off. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Transfer Family's -// API operation TestIdentityProvider for usage and error information. +// API operation ListCertificates for usage and error information. // // Returned Error Types: // * ServiceUnavailableException @@ -3100,6 +3048,9 @@ func (c *Transfer) TestIdentityProviderRequest(input *TestIdentityProviderInput) // This exception is thrown when an error occurs in the Amazon Web ServicesTransfer // Family service. // +// * InvalidNextTokenException +// The NextToken parameter that was passed is invalid. +// // * InvalidRequestException // This exception is thrown when the client submits a malformed request. // @@ -3107,84 +3058,138 @@ func (c *Transfer) TestIdentityProviderRequest(input *TestIdentityProviderInput) // This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer // Family service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/TestIdentityProvider -func (c *Transfer) TestIdentityProvider(input *TestIdentityProviderInput) (*TestIdentityProviderOutput, error) { - req, out := c.TestIdentityProviderRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListCertificates +func (c *Transfer) ListCertificates(input *ListCertificatesInput) (*ListCertificatesOutput, error) { + req, out := c.ListCertificatesRequest(input) return out, req.Send() } -// TestIdentityProviderWithContext is the same as TestIdentityProvider with the addition of +// ListCertificatesWithContext is the same as ListCertificates with the addition of // the ability to pass a context and additional request options. // -// See TestIdentityProvider for details on how to use this API operation. +// See ListCertificates 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 *Transfer) TestIdentityProviderWithContext(ctx aws.Context, input *TestIdentityProviderInput, opts ...request.Option) (*TestIdentityProviderOutput, error) { - req, out := c.TestIdentityProviderRequest(input) +func (c *Transfer) ListCertificatesWithContext(ctx aws.Context, input *ListCertificatesInput, opts ...request.Option) (*ListCertificatesOutput, error) { + req, out := c.ListCertificatesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUntagResource = "UntagResource" +// ListCertificatesPages iterates over the pages of a ListCertificates operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListCertificates 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 ListCertificates operation. +// pageNum := 0 +// err := client.ListCertificatesPages(params, +// func(page *transfer.ListCertificatesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Transfer) ListCertificatesPages(input *ListCertificatesInput, fn func(*ListCertificatesOutput, bool) bool) error { + return c.ListCertificatesPagesWithContext(aws.BackgroundContext(), input, fn) +} -// UntagResourceRequest generates a "aws/request.Request" representing the -// client's request for the UntagResource operation. The "output" return +// ListCertificatesPagesWithContext same as ListCertificatesPages 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 *Transfer) ListCertificatesPagesWithContext(ctx aws.Context, input *ListCertificatesInput, fn func(*ListCertificatesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListCertificatesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListCertificatesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListCertificatesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListConnectors = "ListConnectors" + +// ListConnectorsRequest generates a "aws/request.Request" representing the +// client's request for the ListConnectors 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 ListConnectors for more information on using the ListConnectors // 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 ListConnectorsRequest method. +// req, resp := client.ListConnectorsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UntagResource -func (c *Transfer) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListConnectors +func (c *Transfer) ListConnectorsRequest(input *ListConnectorsInput) (req *request.Request, output *ListConnectorsOutput) { op := &request.Operation{ - Name: opUntagResource, + Name: opListConnectors, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &UntagResourceInput{} + input = &ListConnectorsInput{} } - output = &UntagResourceOutput{} + output = &ListConnectorsOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UntagResource API operation for AWS Transfer Family. -// -// Detaches a key-value pair from a resource, as identified by its Amazon Resource -// Name (ARN). Resources are users, servers, roles, and other entities. +// ListConnectors API operation for AWS Transfer Family. // -// No response is returned from this call. +// Lists the connectors for the specified Region. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Transfer Family's -// API operation UntagResource for usage and error information. +// API operation ListConnectors for usage and error information. // // Returned Error Types: // * ServiceUnavailableException @@ -3195,6 +3200,9 @@ func (c *Transfer) UntagResourceRequest(input *UntagResourceInput) (req *request // This exception is thrown when an error occurs in the Amazon Web ServicesTransfer // Family service. // +// * InvalidNextTokenException +// The NextToken parameter that was passed is invalid. +// // * InvalidRequestException // This exception is thrown when the client submits a malformed request. // @@ -3202,81 +3210,138 @@ func (c *Transfer) UntagResourceRequest(input *UntagResourceInput) (req *request // This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer // Family service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UntagResource -func (c *Transfer) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListConnectors +func (c *Transfer) ListConnectors(input *ListConnectorsInput) (*ListConnectorsOutput, error) { + req, out := c.ListConnectorsRequest(input) return out, req.Send() } -// UntagResourceWithContext is the same as UntagResource with the addition of +// ListConnectorsWithContext is the same as ListConnectors with the addition of // the ability to pass a context and additional request options. // -// See UntagResource for details on how to use this API operation. +// See ListConnectors 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 *Transfer) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +func (c *Transfer) ListConnectorsWithContext(ctx aws.Context, input *ListConnectorsInput, opts ...request.Option) (*ListConnectorsOutput, error) { + req, out := c.ListConnectorsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateAccess = "UpdateAccess" - -// UpdateAccessRequest generates a "aws/request.Request" representing the -// client's request for the UpdateAccess operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. +// ListConnectorsPages iterates over the pages of a ListConnectors operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListConnectors 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 ListConnectors operation. +// pageNum := 0 +// err := client.ListConnectorsPages(params, +// func(page *transfer.ListConnectorsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Transfer) ListConnectorsPages(input *ListConnectorsInput, fn func(*ListConnectorsOutput, bool) bool) error { + return c.ListConnectorsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListConnectorsPagesWithContext same as ListConnectorsPages 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 *Transfer) ListConnectorsPagesWithContext(ctx aws.Context, input *ListConnectorsInput, fn func(*ListConnectorsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListConnectorsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListConnectorsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListConnectorsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListExecutions = "ListExecutions" + +// ListExecutionsRequest generates a "aws/request.Request" representing the +// client's request for the ListExecutions 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 UpdateAccess for more information on using the UpdateAccess +// See ListExecutions for more information on using the ListExecutions // 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 UpdateAccessRequest method. -// req, resp := client.UpdateAccessRequest(params) +// // Example sending a request using the ListExecutionsRequest method. +// req, resp := client.ListExecutionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateAccess -func (c *Transfer) UpdateAccessRequest(input *UpdateAccessInput) (req *request.Request, output *UpdateAccessOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListExecutions +func (c *Transfer) ListExecutionsRequest(input *ListExecutionsInput) (req *request.Request, output *ListExecutionsOutput) { op := &request.Operation{ - Name: opUpdateAccess, + Name: opListExecutions, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &UpdateAccessInput{} + input = &ListExecutionsInput{} } - output = &UpdateAccessOutput{} + output = &ListExecutionsOutput{} req = c.newRequest(op, input, output) return } -// UpdateAccess API operation for AWS Transfer Family. +// ListExecutions API operation for AWS Transfer Family. // -// Allows you to update parameters for the access specified in the ServerID -// and ExternalID parameters. +// Lists all executions for the specified workflow. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Transfer Family's -// API operation UpdateAccess for usage and error information. +// API operation ListExecutions for usage and error information. // // Returned Error Types: // * ServiceUnavailableException @@ -3287,202 +3352,304 @@ func (c *Transfer) UpdateAccessRequest(input *UpdateAccessInput) (req *request.R // This exception is thrown when an error occurs in the Amazon Web ServicesTransfer // Family service. // +// * InvalidNextTokenException +// The NextToken parameter that was passed is invalid. +// // * InvalidRequestException // This exception is thrown when the client submits a malformed request. // -// * ResourceExistsException -// The requested resource does not exist. -// // * ResourceNotFoundException // This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer // Family service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateAccess -func (c *Transfer) UpdateAccess(input *UpdateAccessInput) (*UpdateAccessOutput, error) { - req, out := c.UpdateAccessRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListExecutions +func (c *Transfer) ListExecutions(input *ListExecutionsInput) (*ListExecutionsOutput, error) { + req, out := c.ListExecutionsRequest(input) return out, req.Send() } -// UpdateAccessWithContext is the same as UpdateAccess with the addition of +// ListExecutionsWithContext is the same as ListExecutions with the addition of // the ability to pass a context and additional request options. // -// See UpdateAccess for details on how to use this API operation. +// See ListExecutions 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 *Transfer) UpdateAccessWithContext(ctx aws.Context, input *UpdateAccessInput, opts ...request.Option) (*UpdateAccessOutput, error) { - req, out := c.UpdateAccessRequest(input) +func (c *Transfer) ListExecutionsWithContext(ctx aws.Context, input *ListExecutionsInput, opts ...request.Option) (*ListExecutionsOutput, error) { + req, out := c.ListExecutionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateServer = "UpdateServer" +// ListExecutionsPages iterates over the pages of a ListExecutions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListExecutions 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 ListExecutions operation. +// pageNum := 0 +// err := client.ListExecutionsPages(params, +// func(page *transfer.ListExecutionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Transfer) ListExecutionsPages(input *ListExecutionsInput, fn func(*ListExecutionsOutput, bool) bool) error { + return c.ListExecutionsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// UpdateServerRequest generates a "aws/request.Request" representing the -// client's request for the UpdateServer operation. The "output" return +// ListExecutionsPagesWithContext same as ListExecutionsPages 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 *Transfer) ListExecutionsPagesWithContext(ctx aws.Context, input *ListExecutionsInput, fn func(*ListExecutionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListExecutionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListExecutionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListExecutionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListProfiles = "ListProfiles" + +// ListProfilesRequest generates a "aws/request.Request" representing the +// client's request for the ListProfiles 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 UpdateServer for more information on using the UpdateServer +// See ListProfiles for more information on using the ListProfiles // 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 UpdateServerRequest method. -// req, resp := client.UpdateServerRequest(params) +// // Example sending a request using the ListProfilesRequest method. +// req, resp := client.ListProfilesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateServer -func (c *Transfer) UpdateServerRequest(input *UpdateServerInput) (req *request.Request, output *UpdateServerOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListProfiles +func (c *Transfer) ListProfilesRequest(input *ListProfilesInput) (req *request.Request, output *ListProfilesOutput) { op := &request.Operation{ - Name: opUpdateServer, + Name: opListProfiles, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &UpdateServerInput{} + input = &ListProfilesInput{} } - output = &UpdateServerOutput{} + output = &ListProfilesOutput{} req = c.newRequest(op, input, output) return } -// UpdateServer API operation for AWS Transfer Family. -// -// Updates the file transfer protocol-enabled server's properties after that -// server has been created. +// ListProfiles API operation for AWS Transfer Family. // -// The UpdateServer call returns the ServerId of the server you updated. +// Returns a list of the profiles for your system. If you want to limit the +// results to a certain number, supply a value for the MaxResults parameter. +// If you ran the command previously and received a value for NextToken, you +// can supply that value to continue listing profiles from where you left off. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Transfer Family's -// API operation UpdateServer for usage and error information. +// API operation ListProfiles for usage and error information. // // Returned Error Types: -// * AccessDeniedException -// You do not have sufficient access to perform this action. -// // * ServiceUnavailableException // The request has failed because the Amazon Web ServicesTransfer Family service // is not available. // -// * ConflictException -// This exception is thrown when the UpdateServer is called for a file transfer -// protocol-enabled server that has VPC as the endpoint type and the server's -// VpcEndpointID is not in the available state. -// // * InternalServiceError // This exception is thrown when an error occurs in the Amazon Web ServicesTransfer // Family service. // +// * InvalidNextTokenException +// The NextToken parameter that was passed is invalid. +// // * InvalidRequestException // This exception is thrown when the client submits a malformed request. // -// * ResourceExistsException -// The requested resource does not exist. -// // * ResourceNotFoundException // This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer // Family service. // -// * ThrottlingException -// The request was denied due to request throttling. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateServer -func (c *Transfer) UpdateServer(input *UpdateServerInput) (*UpdateServerOutput, error) { - req, out := c.UpdateServerRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListProfiles +func (c *Transfer) ListProfiles(input *ListProfilesInput) (*ListProfilesOutput, error) { + req, out := c.ListProfilesRequest(input) return out, req.Send() } -// UpdateServerWithContext is the same as UpdateServer with the addition of +// ListProfilesWithContext is the same as ListProfiles with the addition of // the ability to pass a context and additional request options. // -// See UpdateServer for details on how to use this API operation. +// See ListProfiles 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 *Transfer) UpdateServerWithContext(ctx aws.Context, input *UpdateServerInput, opts ...request.Option) (*UpdateServerOutput, error) { - req, out := c.UpdateServerRequest(input) +func (c *Transfer) ListProfilesWithContext(ctx aws.Context, input *ListProfilesInput, opts ...request.Option) (*ListProfilesOutput, error) { + req, out := c.ListProfilesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateUser = "UpdateUser" +// ListProfilesPages iterates over the pages of a ListProfiles operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListProfiles 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 ListProfiles operation. +// pageNum := 0 +// err := client.ListProfilesPages(params, +// func(page *transfer.ListProfilesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Transfer) ListProfilesPages(input *ListProfilesInput, fn func(*ListProfilesOutput, bool) bool) error { + return c.ListProfilesPagesWithContext(aws.BackgroundContext(), input, fn) +} -// UpdateUserRequest generates a "aws/request.Request" representing the -// client's request for the UpdateUser operation. The "output" return +// ListProfilesPagesWithContext same as ListProfilesPages 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 *Transfer) ListProfilesPagesWithContext(ctx aws.Context, input *ListProfilesInput, fn func(*ListProfilesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListProfilesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListProfilesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListProfilesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListSecurityPolicies = "ListSecurityPolicies" + +// ListSecurityPoliciesRequest generates a "aws/request.Request" representing the +// client's request for the ListSecurityPolicies 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 UpdateUser for more information on using the UpdateUser +// See ListSecurityPolicies for more information on using the ListSecurityPolicies // 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 UpdateUserRequest method. -// req, resp := client.UpdateUserRequest(params) +// // Example sending a request using the ListSecurityPoliciesRequest method. +// req, resp := client.ListSecurityPoliciesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateUser -func (c *Transfer) UpdateUserRequest(input *UpdateUserInput) (req *request.Request, output *UpdateUserOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListSecurityPolicies +func (c *Transfer) ListSecurityPoliciesRequest(input *ListSecurityPoliciesInput) (req *request.Request, output *ListSecurityPoliciesOutput) { op := &request.Operation{ - Name: opUpdateUser, + Name: opListSecurityPolicies, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &UpdateUserInput{} + input = &ListSecurityPoliciesInput{} } - output = &UpdateUserOutput{} + output = &ListSecurityPoliciesOutput{} req = c.newRequest(op, input, output) return } -// UpdateUser API operation for AWS Transfer Family. -// -// Assigns new properties to a user. Parameters you pass modify any or all of -// the following: the home directory, role, and policy for the UserName and -// ServerId you specify. +// ListSecurityPolicies API operation for AWS Transfer Family. // -// The response returns the ServerId and the UserName for the updated user. +// Lists the security policies that are attached to your file transfer protocol-enabled +// servers. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Transfer Family's -// API operation UpdateUser for usage and error information. +// API operation ListSecurityPolicies for usage and error information. // // Returned Error Types: // * ServiceUnavailableException @@ -3493,194 +3660,5284 @@ func (c *Transfer) UpdateUserRequest(input *UpdateUserInput) (req *request.Reque // This exception is thrown when an error occurs in the Amazon Web ServicesTransfer // Family service. // +// * InvalidNextTokenException +// The NextToken parameter that was passed is invalid. +// // * InvalidRequestException // This exception is thrown when the client submits a malformed request. // -// * ResourceNotFoundException -// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer -// Family service. -// -// * ThrottlingException -// The request was denied due to request throttling. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateUser -func (c *Transfer) UpdateUser(input *UpdateUserInput) (*UpdateUserOutput, error) { - req, out := c.UpdateUserRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListSecurityPolicies +func (c *Transfer) ListSecurityPolicies(input *ListSecurityPoliciesInput) (*ListSecurityPoliciesOutput, error) { + req, out := c.ListSecurityPoliciesRequest(input) return out, req.Send() } -// UpdateUserWithContext is the same as UpdateUser with the addition of +// ListSecurityPoliciesWithContext is the same as ListSecurityPolicies with the addition of // the ability to pass a context and additional request options. // -// See UpdateUser for details on how to use this API operation. +// See ListSecurityPolicies 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 *Transfer) UpdateUserWithContext(ctx aws.Context, input *UpdateUserInput, opts ...request.Option) (*UpdateUserOutput, error) { - req, out := c.UpdateUserRequest(input) +func (c *Transfer) ListSecurityPoliciesWithContext(ctx aws.Context, input *ListSecurityPoliciesInput, opts ...request.Option) (*ListSecurityPoliciesOutput, error) { + req, out := c.ListSecurityPoliciesRequest(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. +// ListSecurityPoliciesPages iterates over the pages of a ListSecurityPolicies operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. // -// API parameter values that are decorated as "sensitive" in the API 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) +// See ListSecurityPolicies 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 ListSecurityPolicies operation. +// pageNum := 0 +// err := client.ListSecurityPoliciesPages(params, +// func(page *transfer.ListSecurityPoliciesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Transfer) ListSecurityPoliciesPages(input *ListSecurityPoliciesInput, fn func(*ListSecurityPoliciesOutput, bool) bool) error { + return c.ListSecurityPoliciesPagesWithContext(aws.BackgroundContext(), input, fn) } -// GoString returns the string representation. +// ListSecurityPoliciesPagesWithContext same as ListSecurityPoliciesPages except +// it takes a Context and allows setting request options on the pages. // -// API parameter values that are decorated as "sensitive" in the API 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() -} +// 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 *Transfer) ListSecurityPoliciesPagesWithContext(ctx aws.Context, input *ListSecurityPoliciesInput, fn func(*ListSecurityPoliciesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListSecurityPoliciesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListSecurityPoliciesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } -func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { - return &AccessDeniedException{ - RespMetadata: v, + for p.Next() { + if !fn(p.Page().(*ListSecurityPoliciesOutput), !p.HasNextPage()) { + break + } } -} -// Code returns the exception type name. -func (s *AccessDeniedException) Code() string { - return "AccessDeniedException" + return p.Err() } -// Message returns the exception's message. -func (s *AccessDeniedException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} +const opListServers = "ListServers" -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *AccessDeniedException) OrigErr() error { - return nil -} +// ListServersRequest generates a "aws/request.Request" representing the +// client's request for the ListServers 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 ListServers for more information on using the ListServers +// 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 ListServersRequest method. +// req, resp := client.ListServersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListServers +func (c *Transfer) ListServersRequest(input *ListServersInput) (req *request.Request, output *ListServersOutput) { + op := &request.Operation{ + Name: opListServers, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } -func (s *AccessDeniedException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) -} + if input == nil { + input = &ListServersInput{} + } -// Status code returns the HTTP status code for the request's response error. -func (s *AccessDeniedException) StatusCode() int { - return s.RespMetadata.StatusCode + output = &ListServersOutput{} + req = c.newRequest(op, input, output) + return } -// RequestID returns the service's response RequestID for request. -func (s *AccessDeniedException) RequestID() string { - return s.RespMetadata.RequestID +// ListServers API operation for AWS Transfer Family. +// +// Lists the file transfer protocol-enabled servers that are associated with +// your Amazon Web Services account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Transfer Family's +// API operation ListServers for usage and error information. +// +// Returned Error Types: +// * ServiceUnavailableException +// The request has failed because the Amazon Web ServicesTransfer Family service +// is not available. +// +// * InternalServiceError +// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer +// Family service. +// +// * InvalidNextTokenException +// The NextToken parameter that was passed is invalid. +// +// * InvalidRequestException +// This exception is thrown when the client submits a malformed request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListServers +func (c *Transfer) ListServers(input *ListServersInput) (*ListServersOutput, error) { + req, out := c.ListServersRequest(input) + return out, req.Send() } -// This exception is thrown when the UpdateServer is called for a file transfer -// protocol-enabled server that has VPC as the endpoint type and the server's -// VpcEndpointID is not in the available state. -type ConflictException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - - Message_ *string `locationName:"Message" type:"string"` +// ListServersWithContext is the same as ListServers with the addition of +// the ability to pass a context and additional request options. +// +// See ListServers 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 *Transfer) ListServersWithContext(ctx aws.Context, input *ListServersInput, opts ...request.Option) (*ListServersOutput, error) { + req, out := c.ListServersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() } -// String returns the string representation. +// ListServersPages iterates over the pages of a ListServers operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. // -// API parameter values that are decorated as "sensitive" in the API 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) +// See ListServers 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 ListServers operation. +// pageNum := 0 +// err := client.ListServersPages(params, +// func(page *transfer.ListServersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Transfer) ListServersPages(input *ListServersInput, fn func(*ListServersOutput, bool) bool) error { + return c.ListServersPagesWithContext(aws.BackgroundContext(), input, fn) } -// GoString returns the string representation. +// ListServersPagesWithContext same as ListServersPages except +// it takes a Context and allows setting request options on the pages. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". +// 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 *Transfer) ListServersPagesWithContext(ctx aws.Context, input *ListServersInput, fn func(*ListServersOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListServersInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListServersRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListServersOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListTagsForResource +func (c *Transfer) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for AWS Transfer Family. +// +// Lists all of the tags associated with the Amazon Resource Name (ARN) that +// you specify. The resource can be a user, server, or 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 AWS Transfer Family's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Types: +// * ServiceUnavailableException +// The request has failed because the Amazon Web ServicesTransfer Family service +// is not available. +// +// * InternalServiceError +// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer +// Family service. +// +// * InvalidNextTokenException +// The NextToken parameter that was passed is invalid. +// +// * InvalidRequestException +// This exception is thrown when the client submits a malformed request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListTagsForResource +func (c *Transfer) 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 *Transfer) 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() +} + +// ListTagsForResourcePages iterates over the pages of a ListTagsForResource operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTagsForResource 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 ListTagsForResource operation. +// pageNum := 0 +// err := client.ListTagsForResourcePages(params, +// func(page *transfer.ListTagsForResourceOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Transfer) ListTagsForResourcePages(input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool) error { + return c.ListTagsForResourcePagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListTagsForResourcePagesWithContext same as ListTagsForResourcePages 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 *Transfer) ListTagsForResourcePagesWithContext(ctx aws.Context, input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTagsForResourceInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTagsForResourceRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTagsForResourceOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListUsers = "ListUsers" + +// ListUsersRequest generates a "aws/request.Request" representing the +// client's request for the ListUsers 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 ListUsers for more information on using the ListUsers +// 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 ListUsersRequest method. +// req, resp := client.ListUsersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListUsers +func (c *Transfer) ListUsersRequest(input *ListUsersInput) (req *request.Request, output *ListUsersOutput) { + op := &request.Operation{ + Name: opListUsers, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListUsersInput{} + } + + output = &ListUsersOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListUsers API operation for AWS Transfer Family. +// +// Lists the users for a file transfer protocol-enabled server that you specify +// by passing the ServerId parameter. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Transfer Family's +// API operation ListUsers for usage and error information. +// +// Returned Error Types: +// * ServiceUnavailableException +// The request has failed because the Amazon Web ServicesTransfer Family service +// is not available. +// +// * InternalServiceError +// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer +// Family service. +// +// * InvalidNextTokenException +// The NextToken parameter that was passed is invalid. +// +// * InvalidRequestException +// This exception is thrown when the client submits a malformed request. +// +// * ResourceNotFoundException +// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer +// Family service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListUsers +func (c *Transfer) ListUsers(input *ListUsersInput) (*ListUsersOutput, error) { + req, out := c.ListUsersRequest(input) + return out, req.Send() +} + +// ListUsersWithContext is the same as ListUsers with the addition of +// the ability to pass a context and additional request options. +// +// See ListUsers 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 *Transfer) ListUsersWithContext(ctx aws.Context, input *ListUsersInput, opts ...request.Option) (*ListUsersOutput, error) { + req, out := c.ListUsersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListUsersPages iterates over the pages of a ListUsers operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListUsers method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListUsers operation. +// pageNum := 0 +// err := client.ListUsersPages(params, +// func(page *transfer.ListUsersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Transfer) ListUsersPages(input *ListUsersInput, fn func(*ListUsersOutput, bool) bool) error { + return c.ListUsersPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListUsersPagesWithContext same as ListUsersPages 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 *Transfer) ListUsersPagesWithContext(ctx aws.Context, input *ListUsersInput, fn func(*ListUsersOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListUsersInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListUsersRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListUsersOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListWorkflows = "ListWorkflows" + +// ListWorkflowsRequest generates a "aws/request.Request" representing the +// client's request for the ListWorkflows 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 ListWorkflows for more information on using the ListWorkflows +// 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 ListWorkflowsRequest method. +// req, resp := client.ListWorkflowsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListWorkflows +func (c *Transfer) ListWorkflowsRequest(input *ListWorkflowsInput) (req *request.Request, output *ListWorkflowsOutput) { + op := &request.Operation{ + Name: opListWorkflows, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListWorkflowsInput{} + } + + output = &ListWorkflowsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListWorkflows API operation for AWS Transfer Family. +// +// Lists all of your workflows. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Transfer Family's +// API operation ListWorkflows for usage and error information. +// +// Returned Error Types: +// * ServiceUnavailableException +// The request has failed because the Amazon Web ServicesTransfer Family service +// is not available. +// +// * InternalServiceError +// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer +// Family service. +// +// * InvalidNextTokenException +// The NextToken parameter that was passed is invalid. +// +// * InvalidRequestException +// This exception is thrown when the client submits a malformed request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListWorkflows +func (c *Transfer) ListWorkflows(input *ListWorkflowsInput) (*ListWorkflowsOutput, error) { + req, out := c.ListWorkflowsRequest(input) + return out, req.Send() +} + +// ListWorkflowsWithContext is the same as ListWorkflows with the addition of +// the ability to pass a context and additional request options. +// +// See ListWorkflows 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 *Transfer) ListWorkflowsWithContext(ctx aws.Context, input *ListWorkflowsInput, opts ...request.Option) (*ListWorkflowsOutput, error) { + req, out := c.ListWorkflowsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListWorkflowsPages iterates over the pages of a ListWorkflows operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListWorkflows 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 ListWorkflows operation. +// pageNum := 0 +// err := client.ListWorkflowsPages(params, +// func(page *transfer.ListWorkflowsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Transfer) ListWorkflowsPages(input *ListWorkflowsInput, fn func(*ListWorkflowsOutput, bool) bool) error { + return c.ListWorkflowsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListWorkflowsPagesWithContext same as ListWorkflowsPages 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 *Transfer) ListWorkflowsPagesWithContext(ctx aws.Context, input *ListWorkflowsInput, fn func(*ListWorkflowsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListWorkflowsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListWorkflowsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListWorkflowsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opSendWorkflowStepState = "SendWorkflowStepState" + +// SendWorkflowStepStateRequest generates a "aws/request.Request" representing the +// client's request for the SendWorkflowStepState 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 SendWorkflowStepState for more information on using the SendWorkflowStepState +// 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 SendWorkflowStepStateRequest method. +// req, resp := client.SendWorkflowStepStateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/SendWorkflowStepState +func (c *Transfer) SendWorkflowStepStateRequest(input *SendWorkflowStepStateInput) (req *request.Request, output *SendWorkflowStepStateOutput) { + op := &request.Operation{ + Name: opSendWorkflowStepState, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &SendWorkflowStepStateInput{} + } + + output = &SendWorkflowStepStateOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// SendWorkflowStepState API operation for AWS Transfer Family. +// +// Sends a callback for asynchronous custom steps. +// +// The ExecutionId, WorkflowId, and Token are passed to the target resource +// during execution of a custom step of a workflow. You must include those with +// their callback as well as providing a status. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Transfer Family's +// API operation SendWorkflowStepState for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You do not have sufficient access to perform this action. +// +// * ServiceUnavailableException +// The request has failed because the Amazon Web ServicesTransfer Family service +// is not available. +// +// * InternalServiceError +// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer +// Family service. +// +// * InvalidRequestException +// This exception is thrown when the client submits a malformed request. +// +// * ResourceNotFoundException +// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer +// Family service. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/SendWorkflowStepState +func (c *Transfer) SendWorkflowStepState(input *SendWorkflowStepStateInput) (*SendWorkflowStepStateOutput, error) { + req, out := c.SendWorkflowStepStateRequest(input) + return out, req.Send() +} + +// SendWorkflowStepStateWithContext is the same as SendWorkflowStepState with the addition of +// the ability to pass a context and additional request options. +// +// See SendWorkflowStepState 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 *Transfer) SendWorkflowStepStateWithContext(ctx aws.Context, input *SendWorkflowStepStateInput, opts ...request.Option) (*SendWorkflowStepStateOutput, error) { + req, out := c.SendWorkflowStepStateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStartFileTransfer = "StartFileTransfer" + +// StartFileTransferRequest generates a "aws/request.Request" representing the +// client's request for the StartFileTransfer 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 StartFileTransfer for more information on using the StartFileTransfer +// 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 StartFileTransferRequest method. +// req, resp := client.StartFileTransferRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/StartFileTransfer +func (c *Transfer) StartFileTransferRequest(input *StartFileTransferInput) (req *request.Request, output *StartFileTransferOutput) { + op := &request.Operation{ + Name: opStartFileTransfer, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StartFileTransferInput{} + } + + output = &StartFileTransferOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartFileTransfer API operation for AWS Transfer Family. +// +// Begins an outbound file transfer. You specify the ConnectorId and the file +// paths for where to send the files. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Transfer Family's +// API operation StartFileTransfer for usage and error information. +// +// Returned Error Types: +// * ServiceUnavailableException +// The request has failed because the Amazon Web ServicesTransfer Family service +// is not available. +// +// * InternalServiceError +// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer +// Family service. +// +// * InvalidRequestException +// This exception is thrown when the client submits a malformed request. +// +// * ResourceNotFoundException +// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer +// Family service. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/StartFileTransfer +func (c *Transfer) StartFileTransfer(input *StartFileTransferInput) (*StartFileTransferOutput, error) { + req, out := c.StartFileTransferRequest(input) + return out, req.Send() +} + +// StartFileTransferWithContext is the same as StartFileTransfer with the addition of +// the ability to pass a context and additional request options. +// +// See StartFileTransfer 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 *Transfer) StartFileTransferWithContext(ctx aws.Context, input *StartFileTransferInput, opts ...request.Option) (*StartFileTransferOutput, error) { + req, out := c.StartFileTransferRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStartServer = "StartServer" + +// StartServerRequest generates a "aws/request.Request" representing the +// client's request for the StartServer 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 StartServer for more information on using the StartServer +// 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 StartServerRequest method. +// req, resp := client.StartServerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/StartServer +func (c *Transfer) StartServerRequest(input *StartServerInput) (req *request.Request, output *StartServerOutput) { + op := &request.Operation{ + Name: opStartServer, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StartServerInput{} + } + + output = &StartServerOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// StartServer API operation for AWS Transfer Family. +// +// Changes the state of a file transfer protocol-enabled server from OFFLINE +// to ONLINE. It has no impact on a server that is already ONLINE. An ONLINE +// server can accept and process file transfer jobs. +// +// The state of STARTING indicates that the server is in an intermediate state, +// either not fully able to respond, or not fully online. The values of START_FAILED +// can indicate an error condition. +// +// No response is returned from this call. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Transfer Family's +// API operation StartServer for usage and error information. +// +// Returned Error Types: +// * ServiceUnavailableException +// The request has failed because the Amazon Web ServicesTransfer Family service +// is not available. +// +// * InternalServiceError +// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer +// Family service. +// +// * InvalidRequestException +// This exception is thrown when the client submits a malformed request. +// +// * ResourceNotFoundException +// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer +// Family service. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/StartServer +func (c *Transfer) StartServer(input *StartServerInput) (*StartServerOutput, error) { + req, out := c.StartServerRequest(input) + return out, req.Send() +} + +// StartServerWithContext is the same as StartServer with the addition of +// the ability to pass a context and additional request options. +// +// See StartServer 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 *Transfer) StartServerWithContext(ctx aws.Context, input *StartServerInput, opts ...request.Option) (*StartServerOutput, error) { + req, out := c.StartServerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStopServer = "StopServer" + +// StopServerRequest generates a "aws/request.Request" representing the +// client's request for the StopServer 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 StopServer for more information on using the StopServer +// 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 StopServerRequest method. +// req, resp := client.StopServerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/StopServer +func (c *Transfer) StopServerRequest(input *StopServerInput) (req *request.Request, output *StopServerOutput) { + op := &request.Operation{ + Name: opStopServer, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StopServerInput{} + } + + output = &StopServerOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// StopServer API operation for AWS Transfer Family. +// +// Changes the state of a file transfer protocol-enabled server from ONLINE +// to OFFLINE. An OFFLINE server cannot accept and process file transfer jobs. +// Information tied to your server, such as server and user properties, are +// not affected by stopping your server. +// +// Stopping the server does not reduce or impact your file transfer protocol +// endpoint billing; you must delete the server to stop being billed. +// +// The state of STOPPING indicates that the server is in an intermediate state, +// either not fully able to respond, or not fully offline. The values of STOP_FAILED +// can indicate an error condition. +// +// No response is returned from this call. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Transfer Family's +// API operation StopServer for usage and error information. +// +// Returned Error Types: +// * ServiceUnavailableException +// The request has failed because the Amazon Web ServicesTransfer Family service +// is not available. +// +// * InternalServiceError +// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer +// Family service. +// +// * InvalidRequestException +// This exception is thrown when the client submits a malformed request. +// +// * ResourceNotFoundException +// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer +// Family service. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/StopServer +func (c *Transfer) StopServer(input *StopServerInput) (*StopServerOutput, error) { + req, out := c.StopServerRequest(input) + return out, req.Send() +} + +// StopServerWithContext is the same as StopServer with the addition of +// the ability to pass a context and additional request options. +// +// See StopServer 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 *Transfer) StopServerWithContext(ctx aws.Context, input *StopServerInput, opts ...request.Option) (*StopServerOutput, error) { + req, out := c.StopServerRequest(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/transfer-2018-11-05/TagResource +func (c *Transfer) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for AWS Transfer Family. +// +// Attaches a key-value pair to a resource, as identified by its Amazon Resource +// Name (ARN). Resources are users, servers, roles, and other entities. +// +// There is no response returned from this call. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Transfer Family's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// * ServiceUnavailableException +// The request has failed because the Amazon Web ServicesTransfer Family service +// is not available. +// +// * InternalServiceError +// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer +// Family service. +// +// * InvalidRequestException +// This exception is thrown when the client submits a malformed request. +// +// * ResourceNotFoundException +// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer +// Family service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/TagResource +func (c *Transfer) 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 *Transfer) 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 opTestIdentityProvider = "TestIdentityProvider" + +// TestIdentityProviderRequest generates a "aws/request.Request" representing the +// client's request for the TestIdentityProvider 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 TestIdentityProvider for more information on using the TestIdentityProvider +// 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 TestIdentityProviderRequest method. +// req, resp := client.TestIdentityProviderRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/TestIdentityProvider +func (c *Transfer) TestIdentityProviderRequest(input *TestIdentityProviderInput) (req *request.Request, output *TestIdentityProviderOutput) { + op := &request.Operation{ + Name: opTestIdentityProvider, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &TestIdentityProviderInput{} + } + + output = &TestIdentityProviderOutput{} + req = c.newRequest(op, input, output) + return +} + +// TestIdentityProvider API operation for AWS Transfer Family. +// +// If the IdentityProviderType of a file transfer protocol-enabled server is +// AWS_DIRECTORY_SERVICE or API_Gateway, tests whether your identity provider +// is set up successfully. We highly recommend that you call this operation +// to test your authentication method as soon as you create your server. By +// doing so, you can troubleshoot issues with the identity provider integration +// to ensure that your users can successfully use the service. +// +// The ServerId and UserName parameters are required. The ServerProtocol, SourceIp, +// and UserPassword are all optional. +// +// You cannot use TestIdentityProvider if the IdentityProviderType of your server +// is SERVICE_MANAGED. +// +// * If you provide any incorrect values for any parameters, the Response +// field is empty. +// +// * If you provide a server ID for a server that uses service-managed users, +// you get an error: An error occurred (InvalidRequestException) when calling +// the TestIdentityProvider operation: s-server-ID not configured for external +// auth +// +// * If you enter a Server ID for the --server-id parameter that does not +// identify an actual Transfer server, you receive the following error: An +// error occurred (ResourceNotFoundException) when calling the TestIdentityProvider +// operation: Unknown server +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Transfer Family's +// API operation TestIdentityProvider for usage and error information. +// +// Returned Error Types: +// * ServiceUnavailableException +// The request has failed because the Amazon Web ServicesTransfer Family service +// is not available. +// +// * InternalServiceError +// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer +// Family service. +// +// * InvalidRequestException +// This exception is thrown when the client submits a malformed request. +// +// * ResourceNotFoundException +// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer +// Family service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/TestIdentityProvider +func (c *Transfer) TestIdentityProvider(input *TestIdentityProviderInput) (*TestIdentityProviderOutput, error) { + req, out := c.TestIdentityProviderRequest(input) + return out, req.Send() +} + +// TestIdentityProviderWithContext is the same as TestIdentityProvider with the addition of +// the ability to pass a context and additional request options. +// +// See TestIdentityProvider 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 *Transfer) TestIdentityProviderWithContext(ctx aws.Context, input *TestIdentityProviderInput, opts ...request.Option) (*TestIdentityProviderOutput, error) { + req, out := c.TestIdentityProviderRequest(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/transfer-2018-11-05/UntagResource +func (c *Transfer) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for AWS Transfer Family. +// +// Detaches a key-value pair from a resource, as identified by its Amazon Resource +// Name (ARN). Resources are users, servers, roles, and other entities. +// +// No response is returned from this call. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Transfer Family's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// * ServiceUnavailableException +// The request has failed because the Amazon Web ServicesTransfer Family service +// is not available. +// +// * InternalServiceError +// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer +// Family service. +// +// * InvalidRequestException +// This exception is thrown when the client submits a malformed request. +// +// * ResourceNotFoundException +// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer +// Family service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UntagResource +func (c *Transfer) 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 *Transfer) 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 opUpdateAccess = "UpdateAccess" + +// UpdateAccessRequest generates a "aws/request.Request" representing the +// client's request for the UpdateAccess 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 UpdateAccess for more information on using the UpdateAccess +// 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 UpdateAccessRequest method. +// req, resp := client.UpdateAccessRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateAccess +func (c *Transfer) UpdateAccessRequest(input *UpdateAccessInput) (req *request.Request, output *UpdateAccessOutput) { + op := &request.Operation{ + Name: opUpdateAccess, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateAccessInput{} + } + + output = &UpdateAccessOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateAccess API operation for AWS Transfer Family. +// +// Allows you to update parameters for the access specified in the ServerID +// and ExternalID parameters. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Transfer Family's +// API operation UpdateAccess for usage and error information. +// +// Returned Error Types: +// * ServiceUnavailableException +// The request has failed because the Amazon Web ServicesTransfer Family service +// is not available. +// +// * InternalServiceError +// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer +// Family service. +// +// * InvalidRequestException +// This exception is thrown when the client submits a malformed request. +// +// * ResourceExistsException +// The requested resource does not exist. +// +// * ResourceNotFoundException +// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer +// Family service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateAccess +func (c *Transfer) UpdateAccess(input *UpdateAccessInput) (*UpdateAccessOutput, error) { + req, out := c.UpdateAccessRequest(input) + return out, req.Send() +} + +// UpdateAccessWithContext is the same as UpdateAccess with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateAccess 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 *Transfer) UpdateAccessWithContext(ctx aws.Context, input *UpdateAccessInput, opts ...request.Option) (*UpdateAccessOutput, error) { + req, out := c.UpdateAccessRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateAgreement = "UpdateAgreement" + +// UpdateAgreementRequest generates a "aws/request.Request" representing the +// client's request for the UpdateAgreement 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 UpdateAgreement for more information on using the UpdateAgreement +// 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 UpdateAgreementRequest method. +// req, resp := client.UpdateAgreementRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateAgreement +func (c *Transfer) UpdateAgreementRequest(input *UpdateAgreementInput) (req *request.Request, output *UpdateAgreementOutput) { + op := &request.Operation{ + Name: opUpdateAgreement, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateAgreementInput{} + } + + output = &UpdateAgreementOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateAgreement API operation for AWS Transfer Family. +// +// Updates some of the parameters for an existing agreement. Provide the AgreementId +// and the ServerId for the agreement that you want to update, along with the +// new values for the parameters to update. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Transfer Family's +// API operation UpdateAgreement for usage and error information. +// +// Returned Error Types: +// * ServiceUnavailableException +// The request has failed because the Amazon Web ServicesTransfer Family service +// is not available. +// +// * InternalServiceError +// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer +// Family service. +// +// * InvalidRequestException +// This exception is thrown when the client submits a malformed request. +// +// * ResourceExistsException +// The requested resource does not exist. +// +// * ResourceNotFoundException +// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer +// Family service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateAgreement +func (c *Transfer) UpdateAgreement(input *UpdateAgreementInput) (*UpdateAgreementOutput, error) { + req, out := c.UpdateAgreementRequest(input) + return out, req.Send() +} + +// UpdateAgreementWithContext is the same as UpdateAgreement with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateAgreement 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 *Transfer) UpdateAgreementWithContext(ctx aws.Context, input *UpdateAgreementInput, opts ...request.Option) (*UpdateAgreementOutput, error) { + req, out := c.UpdateAgreementRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateCertificate = "UpdateCertificate" + +// UpdateCertificateRequest generates a "aws/request.Request" representing the +// client's request for the UpdateCertificate 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 UpdateCertificate for more information on using the UpdateCertificate +// 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 UpdateCertificateRequest method. +// req, resp := client.UpdateCertificateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateCertificate +func (c *Transfer) UpdateCertificateRequest(input *UpdateCertificateInput) (req *request.Request, output *UpdateCertificateOutput) { + op := &request.Operation{ + Name: opUpdateCertificate, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateCertificateInput{} + } + + output = &UpdateCertificateOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateCertificate API operation for AWS Transfer Family. +// +// Updates the active and inactive dates for a certificate. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Transfer Family's +// API operation UpdateCertificate for usage and error information. +// +// Returned Error Types: +// * ServiceUnavailableException +// The request has failed because the Amazon Web ServicesTransfer Family service +// is not available. +// +// * InternalServiceError +// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer +// Family service. +// +// * InvalidRequestException +// This exception is thrown when the client submits a malformed request. +// +// * ResourceNotFoundException +// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer +// Family service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateCertificate +func (c *Transfer) UpdateCertificate(input *UpdateCertificateInput) (*UpdateCertificateOutput, error) { + req, out := c.UpdateCertificateRequest(input) + return out, req.Send() +} + +// UpdateCertificateWithContext is the same as UpdateCertificate with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateCertificate 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 *Transfer) UpdateCertificateWithContext(ctx aws.Context, input *UpdateCertificateInput, opts ...request.Option) (*UpdateCertificateOutput, error) { + req, out := c.UpdateCertificateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateConnector = "UpdateConnector" + +// UpdateConnectorRequest generates a "aws/request.Request" representing the +// client's request for the UpdateConnector 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 UpdateConnector for more information on using the UpdateConnector +// 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 UpdateConnectorRequest method. +// req, resp := client.UpdateConnectorRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateConnector +func (c *Transfer) UpdateConnectorRequest(input *UpdateConnectorInput) (req *request.Request, output *UpdateConnectorOutput) { + op := &request.Operation{ + Name: opUpdateConnector, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateConnectorInput{} + } + + output = &UpdateConnectorOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateConnector API operation for AWS Transfer Family. +// +// Updates some of the parameters for an existing connector. Provide the ConnectorId +// for the connector that you want to update, along with the new values for +// the parameters to update. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Transfer Family's +// API operation UpdateConnector for usage and error information. +// +// Returned Error Types: +// * ServiceUnavailableException +// The request has failed because the Amazon Web ServicesTransfer Family service +// is not available. +// +// * InternalServiceError +// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer +// Family service. +// +// * InvalidRequestException +// This exception is thrown when the client submits a malformed request. +// +// * ResourceExistsException +// The requested resource does not exist. +// +// * ResourceNotFoundException +// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer +// Family service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateConnector +func (c *Transfer) UpdateConnector(input *UpdateConnectorInput) (*UpdateConnectorOutput, error) { + req, out := c.UpdateConnectorRequest(input) + return out, req.Send() +} + +// UpdateConnectorWithContext is the same as UpdateConnector with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateConnector 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 *Transfer) UpdateConnectorWithContext(ctx aws.Context, input *UpdateConnectorInput, opts ...request.Option) (*UpdateConnectorOutput, error) { + req, out := c.UpdateConnectorRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateProfile = "UpdateProfile" + +// UpdateProfileRequest generates a "aws/request.Request" representing the +// client's request for the UpdateProfile 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 UpdateProfile for more information on using the UpdateProfile +// 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 UpdateProfileRequest method. +// req, resp := client.UpdateProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateProfile +func (c *Transfer) UpdateProfileRequest(input *UpdateProfileInput) (req *request.Request, output *UpdateProfileOutput) { + op := &request.Operation{ + Name: opUpdateProfile, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateProfileInput{} + } + + output = &UpdateProfileOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateProfile API operation for AWS Transfer Family. +// +// Updates some of the parameters for an existing profile. Provide the ProfileId +// for the profile that you want to update, along with the new values for the +// parameters to update. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Transfer Family's +// API operation UpdateProfile for usage and error information. +// +// Returned Error Types: +// * ServiceUnavailableException +// The request has failed because the Amazon Web ServicesTransfer Family service +// is not available. +// +// * InternalServiceError +// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer +// Family service. +// +// * InvalidRequestException +// This exception is thrown when the client submits a malformed request. +// +// * ResourceNotFoundException +// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer +// Family service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateProfile +func (c *Transfer) UpdateProfile(input *UpdateProfileInput) (*UpdateProfileOutput, error) { + req, out := c.UpdateProfileRequest(input) + return out, req.Send() +} + +// UpdateProfileWithContext is the same as UpdateProfile with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateProfile 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 *Transfer) UpdateProfileWithContext(ctx aws.Context, input *UpdateProfileInput, opts ...request.Option) (*UpdateProfileOutput, error) { + req, out := c.UpdateProfileRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateServer = "UpdateServer" + +// UpdateServerRequest generates a "aws/request.Request" representing the +// client's request for the UpdateServer 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 UpdateServer for more information on using the UpdateServer +// 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 UpdateServerRequest method. +// req, resp := client.UpdateServerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateServer +func (c *Transfer) UpdateServerRequest(input *UpdateServerInput) (req *request.Request, output *UpdateServerOutput) { + op := &request.Operation{ + Name: opUpdateServer, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateServerInput{} + } + + output = &UpdateServerOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateServer API operation for AWS Transfer Family. +// +// Updates the file transfer protocol-enabled server's properties after that +// server has been created. +// +// The UpdateServer call returns the ServerId of the server you updated. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Transfer Family's +// API operation UpdateServer for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You do not have sufficient access to perform this action. +// +// * ServiceUnavailableException +// The request has failed because the Amazon Web ServicesTransfer Family service +// is not available. +// +// * ConflictException +// This exception is thrown when the UpdateServer is called for a file transfer +// protocol-enabled server that has VPC as the endpoint type and the server's +// VpcEndpointID is not in the available state. +// +// * InternalServiceError +// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer +// Family service. +// +// * InvalidRequestException +// This exception is thrown when the client submits a malformed request. +// +// * ResourceExistsException +// The requested resource does not exist. +// +// * ResourceNotFoundException +// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer +// Family service. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateServer +func (c *Transfer) UpdateServer(input *UpdateServerInput) (*UpdateServerOutput, error) { + req, out := c.UpdateServerRequest(input) + return out, req.Send() +} + +// UpdateServerWithContext is the same as UpdateServer with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateServer 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 *Transfer) UpdateServerWithContext(ctx aws.Context, input *UpdateServerInput, opts ...request.Option) (*UpdateServerOutput, error) { + req, out := c.UpdateServerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateUser = "UpdateUser" + +// UpdateUserRequest generates a "aws/request.Request" representing the +// client's request for the UpdateUser 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 UpdateUser for more information on using the UpdateUser +// 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 UpdateUserRequest method. +// req, resp := client.UpdateUserRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateUser +func (c *Transfer) UpdateUserRequest(input *UpdateUserInput) (req *request.Request, output *UpdateUserOutput) { + op := &request.Operation{ + Name: opUpdateUser, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateUserInput{} + } + + output = &UpdateUserOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateUser API operation for AWS Transfer Family. +// +// Assigns new properties to a user. Parameters you pass modify any or all of +// the following: the home directory, role, and policy for the UserName and +// ServerId you specify. +// +// The response returns the ServerId and the UserName for the updated 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 AWS Transfer Family's +// API operation UpdateUser for usage and error information. +// +// Returned Error Types: +// * ServiceUnavailableException +// The request has failed because the Amazon Web ServicesTransfer Family service +// is not available. +// +// * InternalServiceError +// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer +// Family service. +// +// * InvalidRequestException +// This exception is thrown when the client submits a malformed request. +// +// * ResourceNotFoundException +// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer +// Family service. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateUser +func (c *Transfer) UpdateUser(input *UpdateUserInput) (*UpdateUserOutput, error) { + req, out := c.UpdateUserRequest(input) + return out, req.Send() +} + +// UpdateUserWithContext is the same as UpdateUser with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateUser 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 *Transfer) UpdateUserWithContext(ctx aws.Context, input *UpdateUserInput, opts ...request.Option) (*UpdateUserOutput, error) { + req, out := c.UpdateUserRequest(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 +} + +// Contains the details for a connector object. The connector object is used +// for AS2 outbound processes, to connect the Transfer Family customer with +// the trading partner. +type As2ConnectorConfig struct { + _ struct{} `type:"structure"` + + // Specifies whether the AS2 file is compressed. + Compression *string `type:"string" enum:"CompressionEnum"` + + // The algorithm that is used to encrypt the file. + EncryptionAlgorithm *string `type:"string" enum:"EncryptionAlg"` + + // A unique identifier for the AS2 process. + LocalProfileId *string `min:"19" type:"string"` + + // Used for outbound requests (from an Transfer Family server to a partner AS2 + // server) to determine whether the partner response for transfers is synchronous + // or asynchronous. Specify either of the following values: + // + // * SYNC: The system expects a synchronous MDN response, confirming that + // the file was transferred successfully (or not). + // + // * NONE: Specifies that no MDN response is required. + MdnResponse *string `type:"string" enum:"MdnResponse"` + + // The signing algorithm for the MDN response. + MdnSigningAlgorithm *string `type:"string" enum:"MdnSigningAlg"` + + // A short description to help identify the connector. + MessageSubject *string `min:"1" type:"string"` + + // A unique identifier for the partner for the connector. + PartnerProfileId *string `min:"19" type:"string"` + + // The algorithm that is used to sign the AS2 transfers for this partner profile. + SigningAlgorithm *string `type:"string" enum:"SigningAlg"` +} + +// 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 As2ConnectorConfig) 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 As2ConnectorConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *As2ConnectorConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "As2ConnectorConfig"} + if s.LocalProfileId != nil && len(*s.LocalProfileId) < 19 { + invalidParams.Add(request.NewErrParamMinLen("LocalProfileId", 19)) + } + if s.MessageSubject != nil && len(*s.MessageSubject) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MessageSubject", 1)) + } + if s.PartnerProfileId != nil && len(*s.PartnerProfileId) < 19 { + invalidParams.Add(request.NewErrParamMinLen("PartnerProfileId", 19)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCompression sets the Compression field's value. +func (s *As2ConnectorConfig) SetCompression(v string) *As2ConnectorConfig { + s.Compression = &v + return s +} + +// SetEncryptionAlgorithm sets the EncryptionAlgorithm field's value. +func (s *As2ConnectorConfig) SetEncryptionAlgorithm(v string) *As2ConnectorConfig { + s.EncryptionAlgorithm = &v + return s +} + +// SetLocalProfileId sets the LocalProfileId field's value. +func (s *As2ConnectorConfig) SetLocalProfileId(v string) *As2ConnectorConfig { + s.LocalProfileId = &v + return s +} + +// SetMdnResponse sets the MdnResponse field's value. +func (s *As2ConnectorConfig) SetMdnResponse(v string) *As2ConnectorConfig { + s.MdnResponse = &v + return s +} + +// SetMdnSigningAlgorithm sets the MdnSigningAlgorithm field's value. +func (s *As2ConnectorConfig) SetMdnSigningAlgorithm(v string) *As2ConnectorConfig { + s.MdnSigningAlgorithm = &v + return s +} + +// SetMessageSubject sets the MessageSubject field's value. +func (s *As2ConnectorConfig) SetMessageSubject(v string) *As2ConnectorConfig { + s.MessageSubject = &v + return s +} + +// SetPartnerProfileId sets the PartnerProfileId field's value. +func (s *As2ConnectorConfig) SetPartnerProfileId(v string) *As2ConnectorConfig { + s.PartnerProfileId = &v + return s +} + +// SetSigningAlgorithm sets the SigningAlgorithm field's value. +func (s *As2ConnectorConfig) SetSigningAlgorithm(v string) *As2ConnectorConfig { + s.SigningAlgorithm = &v + return s +} + +// This exception is thrown when the UpdateServer is called for a file transfer +// protocol-enabled server that has VPC as the endpoint type and the server's +// VpcEndpointID is not in the available state. +type ConflictException 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 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, +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", s.Code(), s.Message()) +} + +// 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 +} + +// Each step type has its own StepDetails structure. +type CopyStepDetails struct { + _ struct{} `type:"structure"` + + // Specifies the location for the file being copied. Only applicable for Copy + // type workflow steps. Use ${Transfer:username} in this field to parametrize + // the destination prefix by username. + DestinationFileLocation *InputFileLocation `type:"structure"` + + // The name of the step, used as an identifier. + Name *string `type:"string"` + + // A flag that indicates whether or not to overwrite an existing file of the + // same name. The default is FALSE. + OverwriteExisting *string `type:"string" enum:"OverwriteExisting"` + + // Specifies which file to use as input to the workflow step: either the output + // from the previous step, or the originally uploaded file for the workflow. + // + // * Enter ${previous.file} to use the previous file as the input. In this + // case, this workflow step uses the output file from the previous workflow + // step as input. This is the default value. + // + // * Enter ${original.file} to use the originally-uploaded file location + // as input for this step. + SourceFileLocation *string `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 CopyStepDetails) 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 CopyStepDetails) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CopyStepDetails) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CopyStepDetails"} + if s.DestinationFileLocation != nil { + if err := s.DestinationFileLocation.Validate(); err != nil { + invalidParams.AddNested("DestinationFileLocation", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDestinationFileLocation sets the DestinationFileLocation field's value. +func (s *CopyStepDetails) SetDestinationFileLocation(v *InputFileLocation) *CopyStepDetails { + s.DestinationFileLocation = v + return s +} + +// SetName sets the Name field's value. +func (s *CopyStepDetails) SetName(v string) *CopyStepDetails { + s.Name = &v + return s +} + +// SetOverwriteExisting sets the OverwriteExisting field's value. +func (s *CopyStepDetails) SetOverwriteExisting(v string) *CopyStepDetails { + s.OverwriteExisting = &v + return s +} + +// SetSourceFileLocation sets the SourceFileLocation field's value. +func (s *CopyStepDetails) SetSourceFileLocation(v string) *CopyStepDetails { + s.SourceFileLocation = &v + return s +} + +type CreateAccessInput struct { + _ struct{} `type:"structure"` + + // A unique identifier that is required to identify specific groups within your + // directory. The users of the group that you associate have access to your + // Amazon S3 or Amazon EFS resources over the enabled protocols using Transfer + // Family. If you know the group name, you can view the SID values by running + // the following command using Windows PowerShell. + // + // Get-ADGroup -Filter {samAccountName -like "YourGroupName*"} -Properties * + // | Select SamAccountName,ObjectSid + // + // In that command, replace YourGroupName with the name of your Active Directory + // group. + // + // The regular expression used to validate this parameter is a string of characters + // consisting of uppercase and lowercase alphanumeric characters with no spaces. + // You can also include underscores or any of the following characters: =,.@:/- + // + // ExternalId is a required field + ExternalId *string `min:"1" type:"string" required:"true"` + + // The landing directory (folder) for a user when they log in to the server + // using the client. + // + // A HomeDirectory example is /bucket_name/home/mydirectory. + HomeDirectory *string `type:"string"` + + // Logical directory mappings that specify what Amazon S3 or Amazon EFS paths + // and keys should be visible to your user and how you want to make them visible. + // You must specify the Entry and Target pair, where Entry shows how the path + // is made visible and Target is the actual Amazon S3 or Amazon EFS path. If + // you only specify a target, it is displayed as is. You also must ensure that + // your Identity and Access Management (IAM) role provides access to paths in + // Target. This value can be set only when HomeDirectoryType is set to LOGICAL. + // + // The following is an Entry and Target pair example. + // + // [ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ] + // + // In most cases, you can use this value instead of the session policy to lock + // down your user to the designated home directory ("chroot"). To do this, you + // can set Entry to / and set Target to the HomeDirectory parameter value. + // + // The following is an Entry and Target pair example for chroot. + // + // [ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ] + HomeDirectoryMappings []*HomeDirectoryMapEntry `min:"1" type:"list"` + + // The type of landing directory (folder) that you want your users' home directory + // to be when they log in to the server. If you set it to PATH, the user will + // see the absolute Amazon S3 bucket or EFS paths as is in their file transfer + // protocol clients. If you set it LOGICAL, you need to provide mappings in + // the HomeDirectoryMappings for how you want to make Amazon S3 or Amazon EFS + // paths visible to your users. + HomeDirectoryType *string `type:"string" enum:"HomeDirectoryType"` + + // A session policy for your user so that you can use the same Identity and + // Access Management (IAM) role across multiple users. This policy scopes down + // a user's access to portions of their Amazon S3 bucket. Variables that you + // can use inside this policy include ${Transfer:UserName}, ${Transfer:HomeDirectory}, + // and ${Transfer:HomeBucket}. + // + // This policy applies only when the domain of ServerId is Amazon S3. Amazon + // EFS does not use session policies. + // + // For session policies, Transfer Family stores the policy as a JSON blob, instead + // of the Amazon Resource Name (ARN) of the policy. You save the policy as a + // JSON blob and pass it in the Policy argument. + // + // For an example of a session policy, see Example session policy (https://docs.aws.amazon.com/transfer/latest/userguide/session-policy.html). + // + // For more information, see AssumeRole (https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) + // in the Security Token Service API Reference. + Policy *string `type:"string"` + + // The full POSIX identity, including user ID (Uid), group ID (Gid), and any + // secondary groups IDs (SecondaryGids), that controls your users' access to + // your Amazon EFS file systems. The POSIX permissions that are set on files + // and directories in your file system determine the level of access your users + // get when transferring files into and out of your Amazon EFS file systems. + PosixProfile *PosixProfile `type:"structure"` + + // The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) + // role that controls your users' access to your Amazon S3 bucket or Amazon + // EFS file system. The policies attached to this role determine the level of + // access that you want to provide your users when transferring files into and + // out of your Amazon S3 bucket or Amazon EFS file system. The IAM role should + // also contain a trust relationship that allows the server to access your resources + // when servicing your users' transfer requests. + // + // Role is a required field + Role *string `min:"20" type:"string" required:"true"` + + // A system-assigned unique identifier for a server instance. This is the specific + // server that you added your user to. + // + // ServerId is a required field + ServerId *string `min:"19" 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 CreateAccessInput) 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 CreateAccessInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateAccessInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateAccessInput"} + if s.ExternalId == nil { + invalidParams.Add(request.NewErrParamRequired("ExternalId")) + } + if s.ExternalId != nil && len(*s.ExternalId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ExternalId", 1)) + } + if s.HomeDirectoryMappings != nil && len(s.HomeDirectoryMappings) < 1 { + invalidParams.Add(request.NewErrParamMinLen("HomeDirectoryMappings", 1)) + } + if s.Role == nil { + invalidParams.Add(request.NewErrParamRequired("Role")) + } + if s.Role != nil && len(*s.Role) < 20 { + invalidParams.Add(request.NewErrParamMinLen("Role", 20)) + } + if s.ServerId == nil { + invalidParams.Add(request.NewErrParamRequired("ServerId")) + } + if s.ServerId != nil && len(*s.ServerId) < 19 { + invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) + } + if s.HomeDirectoryMappings != nil { + for i, v := range s.HomeDirectoryMappings { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "HomeDirectoryMappings", i), err.(request.ErrInvalidParams)) + } + } + } + if s.PosixProfile != nil { + if err := s.PosixProfile.Validate(); err != nil { + invalidParams.AddNested("PosixProfile", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetExternalId sets the ExternalId field's value. +func (s *CreateAccessInput) SetExternalId(v string) *CreateAccessInput { + s.ExternalId = &v + return s +} + +// SetHomeDirectory sets the HomeDirectory field's value. +func (s *CreateAccessInput) SetHomeDirectory(v string) *CreateAccessInput { + s.HomeDirectory = &v + return s +} + +// SetHomeDirectoryMappings sets the HomeDirectoryMappings field's value. +func (s *CreateAccessInput) SetHomeDirectoryMappings(v []*HomeDirectoryMapEntry) *CreateAccessInput { + s.HomeDirectoryMappings = v + return s +} + +// SetHomeDirectoryType sets the HomeDirectoryType field's value. +func (s *CreateAccessInput) SetHomeDirectoryType(v string) *CreateAccessInput { + s.HomeDirectoryType = &v + return s +} + +// SetPolicy sets the Policy field's value. +func (s *CreateAccessInput) SetPolicy(v string) *CreateAccessInput { + s.Policy = &v + return s +} + +// SetPosixProfile sets the PosixProfile field's value. +func (s *CreateAccessInput) SetPosixProfile(v *PosixProfile) *CreateAccessInput { + s.PosixProfile = v + return s +} + +// SetRole sets the Role field's value. +func (s *CreateAccessInput) SetRole(v string) *CreateAccessInput { + s.Role = &v + return s +} + +// SetServerId sets the ServerId field's value. +func (s *CreateAccessInput) SetServerId(v string) *CreateAccessInput { + s.ServerId = &v + return s +} + +type CreateAccessOutput struct { + _ struct{} `type:"structure"` + + // The external ID of the group whose users have access to your Amazon S3 or + // Amazon EFS resources over the enabled protocols using Transfer Family. + // + // ExternalId is a required field + ExternalId *string `min:"1" type:"string" required:"true"` + + // The ID of the server that the user is attached to. + // + // ServerId is a required field + ServerId *string `min:"19" 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 CreateAccessOutput) 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 CreateAccessOutput) GoString() string { + return s.String() +} + +// SetExternalId sets the ExternalId field's value. +func (s *CreateAccessOutput) SetExternalId(v string) *CreateAccessOutput { + s.ExternalId = &v + return s +} + +// SetServerId sets the ServerId field's value. +func (s *CreateAccessOutput) SetServerId(v string) *CreateAccessOutput { + s.ServerId = &v + return s +} + +type CreateAgreementInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) + // role that grants access to at least the HomeDirectory of your users' Amazon + // S3 buckets. + // + // AccessRole is a required field + AccessRole *string `min:"20" type:"string" required:"true"` + + // The landing directory (folder) for files transferred by using the AS2 protocol. + // + // A BaseDirectory example is /DOC-EXAMPLE-BUCKET/home/mydirectory . + // + // BaseDirectory is a required field + BaseDirectory *string `type:"string" required:"true"` + + // A name or short description to identify the agreement. + Description *string `min:"1" type:"string"` + + // A unique identifier for the AS2 local profile. + // + // LocalProfileId is a required field + LocalProfileId *string `min:"19" type:"string" required:"true"` + + // A unique identifier for the partner profile used in the agreement. + // + // PartnerProfileId is a required field + PartnerProfileId *string `min:"19" type:"string" required:"true"` + + // A system-assigned unique identifier for a server instance. This is the specific + // server that the agreement uses. + // + // ServerId is a required field + ServerId *string `min:"19" type:"string" required:"true"` + + // The status of the agreement. The agreement can be either ACTIVE or INACTIVE. + Status *string `type:"string" enum:"AgreementStatusType"` + + // Key-value pairs that can be used to group and search for agreements. + Tags []*Tag `min:"1" 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 CreateAgreementInput) 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 CreateAgreementInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateAgreementInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateAgreementInput"} + if s.AccessRole == nil { + invalidParams.Add(request.NewErrParamRequired("AccessRole")) + } + if s.AccessRole != nil && len(*s.AccessRole) < 20 { + invalidParams.Add(request.NewErrParamMinLen("AccessRole", 20)) + } + if s.BaseDirectory == nil { + invalidParams.Add(request.NewErrParamRequired("BaseDirectory")) + } + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.LocalProfileId == nil { + invalidParams.Add(request.NewErrParamRequired("LocalProfileId")) + } + if s.LocalProfileId != nil && len(*s.LocalProfileId) < 19 { + invalidParams.Add(request.NewErrParamMinLen("LocalProfileId", 19)) + } + if s.PartnerProfileId == nil { + invalidParams.Add(request.NewErrParamRequired("PartnerProfileId")) + } + if s.PartnerProfileId != nil && len(*s.PartnerProfileId) < 19 { + invalidParams.Add(request.NewErrParamMinLen("PartnerProfileId", 19)) + } + if s.ServerId == nil { + invalidParams.Add(request.NewErrParamRequired("ServerId")) + } + if s.ServerId != nil && len(*s.ServerId) < 19 { + invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccessRole sets the AccessRole field's value. +func (s *CreateAgreementInput) SetAccessRole(v string) *CreateAgreementInput { + s.AccessRole = &v + return s +} + +// SetBaseDirectory sets the BaseDirectory field's value. +func (s *CreateAgreementInput) SetBaseDirectory(v string) *CreateAgreementInput { + s.BaseDirectory = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateAgreementInput) SetDescription(v string) *CreateAgreementInput { + s.Description = &v + return s +} + +// SetLocalProfileId sets the LocalProfileId field's value. +func (s *CreateAgreementInput) SetLocalProfileId(v string) *CreateAgreementInput { + s.LocalProfileId = &v + return s +} + +// SetPartnerProfileId sets the PartnerProfileId field's value. +func (s *CreateAgreementInput) SetPartnerProfileId(v string) *CreateAgreementInput { + s.PartnerProfileId = &v + return s +} + +// SetServerId sets the ServerId field's value. +func (s *CreateAgreementInput) SetServerId(v string) *CreateAgreementInput { + s.ServerId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateAgreementInput) SetStatus(v string) *CreateAgreementInput { + s.Status = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateAgreementInput) SetTags(v []*Tag) *CreateAgreementInput { + s.Tags = v + return s +} + +type CreateAgreementOutput struct { + _ struct{} `type:"structure"` + + // The unique identifier for the agreement. Use this ID for deleting, or updating + // an agreement, as well as in any other API calls that require that you specify + // the agreement ID. + // + // AgreementId is a required field + AgreementId *string `min:"19" 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 CreateAgreementOutput) 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 CreateAgreementOutput) GoString() string { + return s.String() +} + +// SetAgreementId sets the AgreementId field's value. +func (s *CreateAgreementOutput) SetAgreementId(v string) *CreateAgreementOutput { + s.AgreementId = &v + return s +} + +type CreateConnectorInput struct { + _ struct{} `type:"structure"` + + // With AS2, you can send files by calling StartFileTransfer and specifying + // the file paths in the request parameter, SendFilePaths. We use the file’s + // parent directory (for example, for --send-file-paths /bucket/dir/file.txt, + // parent directory is /bucket/dir/) to temporarily store a processed AS2 message + // file, store the MDN when we receive them from the partner, and write a final + // JSON file containing relevant metadata of the transmission. So, the AccessRole + // needs to provide read and write access to the parent directory of the file + // location used in the StartFileTransfer request. Additionally, you need to + // provide read and write access to the parent directory of the files that you + // intend to send with StartFileTransfer. + // + // AccessRole is a required field + AccessRole *string `min:"20" type:"string" required:"true"` + + // A structure that contains the parameters for a connector object. + // + // As2Config is a required field + As2Config *As2ConnectorConfig `type:"structure" required:"true"` + + // The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) + // role that allows a connector to turn on CloudWatch logging for Amazon S3 + // events. When set, you can view connector activity in your CloudWatch logs. + LoggingRole *string `min:"20" type:"string"` + + // Key-value pairs that can be used to group and search for connectors. Tags + // are metadata attached to connectors for any purpose. + Tags []*Tag `min:"1" type:"list"` + + // The URL of the partner's AS2 endpoint. + // + // Url is a required field + Url *string `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 CreateConnectorInput) 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 CreateConnectorInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateConnectorInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateConnectorInput"} + if s.AccessRole == nil { + invalidParams.Add(request.NewErrParamRequired("AccessRole")) + } + if s.AccessRole != nil && len(*s.AccessRole) < 20 { + invalidParams.Add(request.NewErrParamMinLen("AccessRole", 20)) + } + if s.As2Config == nil { + invalidParams.Add(request.NewErrParamRequired("As2Config")) + } + if s.LoggingRole != nil && len(*s.LoggingRole) < 20 { + invalidParams.Add(request.NewErrParamMinLen("LoggingRole", 20)) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.Url == nil { + invalidParams.Add(request.NewErrParamRequired("Url")) + } + if s.As2Config != nil { + if err := s.As2Config.Validate(); err != nil { + invalidParams.AddNested("As2Config", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccessRole sets the AccessRole field's value. +func (s *CreateConnectorInput) SetAccessRole(v string) *CreateConnectorInput { + s.AccessRole = &v + return s +} + +// SetAs2Config sets the As2Config field's value. +func (s *CreateConnectorInput) SetAs2Config(v *As2ConnectorConfig) *CreateConnectorInput { + s.As2Config = v + return s +} + +// SetLoggingRole sets the LoggingRole field's value. +func (s *CreateConnectorInput) SetLoggingRole(v string) *CreateConnectorInput { + s.LoggingRole = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateConnectorInput) SetTags(v []*Tag) *CreateConnectorInput { + s.Tags = v + return s +} + +// SetUrl sets the Url field's value. +func (s *CreateConnectorInput) SetUrl(v string) *CreateConnectorInput { + s.Url = &v + return s +} + +type CreateConnectorOutput struct { + _ struct{} `type:"structure"` + + // The unique identifier for the connector, returned after the API call succeeds. + // + // ConnectorId is a required field + ConnectorId *string `min:"19" 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 CreateConnectorOutput) 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 CreateConnectorOutput) GoString() string { + return s.String() +} + +// SetConnectorId sets the ConnectorId field's value. +func (s *CreateConnectorOutput) SetConnectorId(v string) *CreateConnectorOutput { + s.ConnectorId = &v + return s +} + +type CreateProfileInput struct { + _ struct{} `type:"structure"` + + // The As2Id is the AS2-name, as defined in the defined in the RFC 4130 (https://datatracker.ietf.org/doc/html/rfc4130). + // For inbound transfers, this is the AS2-From header for the AS2 messages sent + // from the partner. For outbound connectors, this is the AS2-To header for + // the AS2 messages sent to the partner using the StartFileTransfer API operation. + // This ID cannot include spaces. + // + // As2Id is a required field + As2Id *string `min:"1" type:"string" required:"true"` + + // An array of identifiers for the imported certificates. You use this identifier + // for working with profiles and partner profiles. + CertificateIds []*string `type:"list"` + + // Indicates whether to list only LOCAL type profiles or only PARTNER type profiles. + // If not supplied in the request, the command lists all types of profiles. + // + // ProfileType is a required field + ProfileType *string `type:"string" required:"true" enum:"ProfileType"` + + // Key-value pairs that can be used to group and search for AS2 profiles. + Tags []*Tag `min:"1" 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 CreateProfileInput) 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 CreateProfileInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateProfileInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateProfileInput"} + if s.As2Id == nil { + invalidParams.Add(request.NewErrParamRequired("As2Id")) + } + if s.As2Id != nil && len(*s.As2Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("As2Id", 1)) + } + if s.ProfileType == nil { + invalidParams.Add(request.NewErrParamRequired("ProfileType")) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAs2Id sets the As2Id field's value. +func (s *CreateProfileInput) SetAs2Id(v string) *CreateProfileInput { + s.As2Id = &v + return s +} + +// SetCertificateIds sets the CertificateIds field's value. +func (s *CreateProfileInput) SetCertificateIds(v []*string) *CreateProfileInput { + s.CertificateIds = v + return s +} + +// SetProfileType sets the ProfileType field's value. +func (s *CreateProfileInput) SetProfileType(v string) *CreateProfileInput { + s.ProfileType = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateProfileInput) SetTags(v []*Tag) *CreateProfileInput { + s.Tags = v + return s +} + +type CreateProfileOutput struct { + _ struct{} `type:"structure"` + + // The unique identifier for the AS2 profile, returned after the API call succeeds. + // + // ProfileId is a required field + ProfileId *string `min:"19" 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 CreateProfileOutput) 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 CreateProfileOutput) GoString() string { + return s.String() +} + +// SetProfileId sets the ProfileId field's value. +func (s *CreateProfileOutput) SetProfileId(v string) *CreateProfileOutput { + s.ProfileId = &v + return s +} + +type CreateServerInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the Certificate Manager (ACM) certificate. + // Required when Protocols is set to FTPS. + // + // To request a new public certificate, see Request a public certificate (https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html) + // in the Certificate Manager User Guide. + // + // To import an existing certificate into ACM, see Importing certificates into + // ACM (https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) + // in the Certificate Manager User Guide. + // + // To request a private certificate to use FTPS through private IP addresses, + // see Request a private certificate (https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html) + // in the Certificate Manager User Guide. + // + // Certificates with the following cryptographic algorithms and key sizes are + // supported: + // + // * 2048-bit RSA (RSA_2048) + // + // * 4096-bit RSA (RSA_4096) + // + // * Elliptic Prime Curve 256 bit (EC_prime256v1) + // + // * Elliptic Prime Curve 384 bit (EC_secp384r1) + // + // * Elliptic Prime Curve 521 bit (EC_secp521r1) + // + // The certificate must be a valid SSL/TLS X.509 version 3 certificate with + // FQDN or IP address specified and information about the issuer. + Certificate *string `type:"string"` + + // The domain of the storage system that is used for file transfers. There are + // two domains available: Amazon Simple Storage Service (Amazon S3) and Amazon + // Elastic File System (Amazon EFS). The default value is S3. + // + // After the server is created, the domain cannot be changed. + Domain *string `type:"string" enum:"Domain"` + + // The virtual private cloud (VPC) endpoint settings that are configured for + // your server. When you host your endpoint within your VPC, you can make your + // endpoint accessible only to resources within your VPC, or you can attach + // Elastic IP addresses and make your endpoint accessible to clients over the + // internet. Your VPC's default security groups are automatically assigned to + // your endpoint. + EndpointDetails *EndpointDetails `type:"structure"` + + // The type of endpoint that you want your server to use. You can choose to + // make your server's endpoint publicly accessible (PUBLIC) or host it inside + // your VPC. With an endpoint that is hosted in a VPC, you can restrict access + // to your server and resources only within your VPC or choose to make it internet + // facing by attaching Elastic IP addresses directly to it. + // + // After May 19, 2021, you won't be able to create a server using EndpointType=VPC_ENDPOINT + // in your Amazon Web Services account if your account hasn't already done so + // before May 19, 2021. If you have already created servers with EndpointType=VPC_ENDPOINT + // in your Amazon Web Services account on or before May 19, 2021, you will not + // be affected. After this date, use EndpointType=VPC. + // + // For more information, see https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint. + // + // It is recommended that you use VPC as the EndpointType. With this endpoint + // type, you have the option to directly associate up to three Elastic IPv4 + // addresses (BYO IP included) with your server's endpoint and use VPC security + // groups to restrict traffic by the client's public IP address. This is not + // possible with EndpointType set to VPC_ENDPOINT. + EndpointType *string `type:"string" enum:"EndpointType"` + + // The RSA, ECDSA, or ED25519 private key to use for your server. + // + // Use the following command to generate an RSA 2048 bit key with no passphrase: + // + // ssh-keygen -t rsa -b 2048 -N "" -m PEM -f my-new-server-key. + // + // Use a minimum value of 2048 for the -b option. You can create a stronger + // key by using 3072 or 4096. + // + // Use the following command to generate an ECDSA 256 bit key with no passphrase: + // + // ssh-keygen -t ecdsa -b 256 -N "" -m PEM -f my-new-server-key. + // + // Valid values for the -b option for ECDSA are 256, 384, and 521. + // + // Use the following command to generate an ED25519 key with no passphrase: + // + // ssh-keygen -t ed25519 -N "" -f my-new-server-key. + // + // For all of these commands, you can replace my-new-server-key with a string + // of your choice. + // + // If you aren't planning to migrate existing users from an existing SFTP-enabled + // server to a new server, don't update the host key. Accidentally changing + // a server's host key can be disruptive. + // + // For more information, see Change the host key for your SFTP-enabled server + // (https://docs.aws.amazon.com/transfer/latest/userguide/edit-server-config.html#configuring-servers-change-host-key) + // in the Transfer Family User Guide. + // + // HostKey is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateServerInput's + // String and GoString methods. + HostKey *string `type:"string" sensitive:"true"` + + // Required when IdentityProviderType is set to AWS_DIRECTORY_SERVICE or API_GATEWAY. + // Accepts an array containing all of the information required to use a directory + // in AWS_DIRECTORY_SERVICE or invoke a customer-supplied authentication API, + // including the API Gateway URL. Not required when IdentityProviderType is + // set to SERVICE_MANAGED. + IdentityProviderDetails *IdentityProviderDetails `type:"structure"` + + // The mode of authentication for a server. The default value is SERVICE_MANAGED, + // which allows you to store and access user credentials within the Transfer + // Family service. + // + // Use AWS_DIRECTORY_SERVICE to provide access to Active Directory groups in + // Directory Service for Microsoft Active Directory or Microsoft Active Directory + // in your on-premises environment or in Amazon Web Services using AD Connector. + // This option also requires you to provide a Directory ID by using the IdentityProviderDetails + // parameter. + // + // Use the API_GATEWAY value to integrate with an identity provider of your + // choosing. The API_GATEWAY setting requires you to provide an Amazon API Gateway + // endpoint URL to call for authentication by using the IdentityProviderDetails + // parameter. + // + // Use the AWS_LAMBDA value to directly use an Lambda function as your identity + // provider. If you choose this value, you must specify the ARN for the Lambda + // function in the Function parameter or the IdentityProviderDetails data type. + IdentityProviderType *string `type:"string" enum:"IdentityProviderType"` + + // The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) + // role that allows a server to turn on Amazon CloudWatch logging for Amazon + // S3 or Amazon EFSevents. When set, you can view user activity in your CloudWatch + // logs. + LoggingRole *string `min:"20" type:"string"` + + // Specifies a string to display when users connect to a server. This string + // is displayed after the user authenticates. + // + // The SFTP protocol does not support post-authentication display banners. + PostAuthenticationLoginBanner *string `type:"string"` + + // Specifies a string to display when users connect to a server. This string + // is displayed before the user authenticates. For example, the following banner + // displays details about using the system: + // + // This system is for the use of authorized users only. Individuals using this + // computer system without authority, or in excess of their authority, are subject + // to having all of their activities on this system monitored and recorded by + // system personnel. + PreAuthenticationLoginBanner *string `type:"string"` + + // The protocol settings that are configured for your server. + // + // * To indicate passive mode (for FTP and FTPS protocols), use the PassiveIp + // parameter. Enter a single dotted-quad IPv4 address, such as the external + // IP address of a firewall, router, or load balancer. + // + // * To ignore the error that is generated when the client attempts to use + // the SETSTAT command on a file that you are uploading to an Amazon S3 bucket, + // use the SetStatOption parameter. To have the Transfer Family server ignore + // the SETSTAT command and upload files without needing to make any changes + // to your SFTP client, set the value to ENABLE_NO_OP. If you set the SetStatOption + // parameter to ENABLE_NO_OP, Transfer Family generates a log entry to Amazon + // CloudWatch Logs, so that you can determine when the client is making a + // SETSTAT call. + // + // * To determine whether your Transfer Family server resumes recent, negotiated + // sessions through a unique session ID, use the TlsSessionResumptionMode + // parameter. + // + // * As2Transports indicates the transport method for the AS2 messages. Currently, + // only HTTP is supported. + ProtocolDetails *ProtocolDetails `type:"structure"` + + // Specifies the file transfer protocol or protocols over which your file transfer + // protocol client can connect to your server's endpoint. The available protocols + // are: + // + // * SFTP (Secure Shell (SSH) File Transfer Protocol): File transfer over + // SSH + // + // * FTPS (File Transfer Protocol Secure): File transfer with TLS encryption + // + // * FTP (File Transfer Protocol): Unencrypted file transfer + // + // * AS2 (Applicability Statement 2): used for transporting structured business-to-business + // data + // + // * If you select FTPS, you must choose a certificate stored in Certificate + // Manager (ACM) which is used to identify your server when clients connect + // to it over FTPS. + // + // * If Protocol includes either FTP or FTPS, then the EndpointType must + // be VPC and the IdentityProviderType must be AWS_DIRECTORY_SERVICE or API_GATEWAY. + // + // * If Protocol includes FTP, then AddressAllocationIds cannot be associated. + // + // * If Protocol is set only to SFTP, the EndpointType can be set to PUBLIC + // and the IdentityProviderType can be set to SERVICE_MANAGED. + // + // * If Protocol includes AS2, then the EndpointType must be VPC, and domain + // must be Amazon S3. + Protocols []*string `min:"1" type:"list" enum:"Protocol"` + + // Specifies the name of the security policy that is attached to the server. + SecurityPolicyName *string `type:"string"` + + // Key-value pairs that can be used to group and search for servers. + Tags []*Tag `min:"1" type:"list"` + + // Specifies the workflow ID for the workflow to assign and the execution role + // that's used for executing the workflow. + WorkflowDetails *WorkflowDetails `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 CreateServerInput) 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 CreateServerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateServerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateServerInput"} + if s.LoggingRole != nil && len(*s.LoggingRole) < 20 { + invalidParams.Add(request.NewErrParamMinLen("LoggingRole", 20)) + } + if s.Protocols != nil && len(s.Protocols) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Protocols", 1)) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.EndpointDetails != nil { + if err := s.EndpointDetails.Validate(); err != nil { + invalidParams.AddNested("EndpointDetails", err.(request.ErrInvalidParams)) + } + } + if s.IdentityProviderDetails != nil { + if err := s.IdentityProviderDetails.Validate(); err != nil { + invalidParams.AddNested("IdentityProviderDetails", err.(request.ErrInvalidParams)) + } + } + if s.ProtocolDetails != nil { + if err := s.ProtocolDetails.Validate(); err != nil { + invalidParams.AddNested("ProtocolDetails", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + if s.WorkflowDetails != nil { + if err := s.WorkflowDetails.Validate(); err != nil { + invalidParams.AddNested("WorkflowDetails", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCertificate sets the Certificate field's value. +func (s *CreateServerInput) SetCertificate(v string) *CreateServerInput { + s.Certificate = &v + return s +} + +// SetDomain sets the Domain field's value. +func (s *CreateServerInput) SetDomain(v string) *CreateServerInput { + s.Domain = &v + return s +} + +// SetEndpointDetails sets the EndpointDetails field's value. +func (s *CreateServerInput) SetEndpointDetails(v *EndpointDetails) *CreateServerInput { + s.EndpointDetails = v + return s +} + +// SetEndpointType sets the EndpointType field's value. +func (s *CreateServerInput) SetEndpointType(v string) *CreateServerInput { + s.EndpointType = &v + return s +} + +// SetHostKey sets the HostKey field's value. +func (s *CreateServerInput) SetHostKey(v string) *CreateServerInput { + s.HostKey = &v + return s +} + +// SetIdentityProviderDetails sets the IdentityProviderDetails field's value. +func (s *CreateServerInput) SetIdentityProviderDetails(v *IdentityProviderDetails) *CreateServerInput { + s.IdentityProviderDetails = v + return s +} + +// SetIdentityProviderType sets the IdentityProviderType field's value. +func (s *CreateServerInput) SetIdentityProviderType(v string) *CreateServerInput { + s.IdentityProviderType = &v + return s +} + +// SetLoggingRole sets the LoggingRole field's value. +func (s *CreateServerInput) SetLoggingRole(v string) *CreateServerInput { + s.LoggingRole = &v + return s +} + +// SetPostAuthenticationLoginBanner sets the PostAuthenticationLoginBanner field's value. +func (s *CreateServerInput) SetPostAuthenticationLoginBanner(v string) *CreateServerInput { + s.PostAuthenticationLoginBanner = &v + return s +} + +// SetPreAuthenticationLoginBanner sets the PreAuthenticationLoginBanner field's value. +func (s *CreateServerInput) SetPreAuthenticationLoginBanner(v string) *CreateServerInput { + s.PreAuthenticationLoginBanner = &v + return s +} + +// SetProtocolDetails sets the ProtocolDetails field's value. +func (s *CreateServerInput) SetProtocolDetails(v *ProtocolDetails) *CreateServerInput { + s.ProtocolDetails = v + return s +} + +// SetProtocols sets the Protocols field's value. +func (s *CreateServerInput) SetProtocols(v []*string) *CreateServerInput { + s.Protocols = v + return s +} + +// SetSecurityPolicyName sets the SecurityPolicyName field's value. +func (s *CreateServerInput) SetSecurityPolicyName(v string) *CreateServerInput { + s.SecurityPolicyName = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateServerInput) SetTags(v []*Tag) *CreateServerInput { + s.Tags = v + return s +} + +// SetWorkflowDetails sets the WorkflowDetails field's value. +func (s *CreateServerInput) SetWorkflowDetails(v *WorkflowDetails) *CreateServerInput { + s.WorkflowDetails = v + return s +} + +type CreateServerOutput struct { + _ struct{} `type:"structure"` + + // The service-assigned ID of the server that is created. + // + // ServerId is a required field + ServerId *string `min:"19" 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 CreateServerOutput) 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 CreateServerOutput) GoString() string { + return s.String() +} + +// SetServerId sets the ServerId field's value. +func (s *CreateServerOutput) SetServerId(v string) *CreateServerOutput { + s.ServerId = &v + return s +} + +type CreateUserInput struct { + _ struct{} `type:"structure"` + + // The landing directory (folder) for a user when they log in to the server + // using the client. + // + // A HomeDirectory example is /bucket_name/home/mydirectory. + HomeDirectory *string `type:"string"` + + // Logical directory mappings that specify what Amazon S3 or Amazon EFS paths + // and keys should be visible to your user and how you want to make them visible. + // You must specify the Entry and Target pair, where Entry shows how the path + // is made visible and Target is the actual Amazon S3 or Amazon EFS path. If + // you only specify a target, it is displayed as is. You also must ensure that + // your Identity and Access Management (IAM) role provides access to paths in + // Target. This value can be set only when HomeDirectoryType is set to LOGICAL. + // + // The following is an Entry and Target pair example. + // + // [ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ] + // + // In most cases, you can use this value instead of the session policy to lock + // your user down to the designated home directory ("chroot"). To do this, you + // can set Entry to / and set Target to the HomeDirectory parameter value. + // + // The following is an Entry and Target pair example for chroot. + // + // [ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ] + HomeDirectoryMappings []*HomeDirectoryMapEntry `min:"1" type:"list"` + + // The type of landing directory (folder) that you want your users' home directory + // to be when they log in to the server. If you set it to PATH, the user will + // see the absolute Amazon S3 bucket or EFS paths as is in their file transfer + // protocol clients. If you set it LOGICAL, you need to provide mappings in + // the HomeDirectoryMappings for how you want to make Amazon S3 or Amazon EFS + // paths visible to your users. + HomeDirectoryType *string `type:"string" enum:"HomeDirectoryType"` + + // A session policy for your user so that you can use the same Identity and + // Access Management (IAM) role across multiple users. This policy scopes down + // a user's access to portions of their Amazon S3 bucket. Variables that you + // can use inside this policy include ${Transfer:UserName}, ${Transfer:HomeDirectory}, + // and ${Transfer:HomeBucket}. + // + // This policy applies only when the domain of ServerId is Amazon S3. Amazon + // EFS does not use session policies. + // + // For session policies, Transfer Family stores the policy as a JSON blob, instead + // of the Amazon Resource Name (ARN) of the policy. You save the policy as a + // JSON blob and pass it in the Policy argument. + // + // For an example of a session policy, see Example session policy (https://docs.aws.amazon.com/transfer/latest/userguide/session-policy.html). + // + // For more information, see AssumeRole (https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) + // in the Amazon Web Services Security Token Service API Reference. + Policy *string `type:"string"` + + // Specifies the full POSIX identity, including user ID (Uid), group ID (Gid), + // and any secondary groups IDs (SecondaryGids), that controls your users' access + // to your Amazon EFS file systems. The POSIX permissions that are set on files + // and directories in Amazon EFS determine the level of access your users get + // when transferring files into and out of your Amazon EFS file systems. + PosixProfile *PosixProfile `type:"structure"` + + // The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) + // role that controls your users' access to your Amazon S3 bucket or Amazon + // EFS file system. The policies attached to this role determine the level of + // access that you want to provide your users when transferring files into and + // out of your Amazon S3 bucket or Amazon EFS file system. The IAM role should + // also contain a trust relationship that allows the server to access your resources + // when servicing your users' transfer requests. + // + // Role is a required field + Role *string `min:"20" type:"string" required:"true"` + + // A system-assigned unique identifier for a server instance. This is the specific + // server that you added your user to. + // + // ServerId is a required field + ServerId *string `min:"19" type:"string" required:"true"` + + // The public portion of the Secure Shell (SSH) key used to authenticate the + // user to the server. + // + // Transfer Family accepts RSA, ECDSA, and ED25519 keys. + SshPublicKeyBody *string `type:"string"` + + // Key-value pairs that can be used to group and search for users. Tags are + // metadata attached to users for any purpose. + Tags []*Tag `min:"1" type:"list"` + + // A unique string that identifies a user and is associated with a ServerId. + // This user name must be a minimum of 3 and a maximum of 100 characters long. + // The following are valid characters: a-z, A-Z, 0-9, underscore '_', hyphen + // '-', period '.', and at sign '@'. The user name can't start with a hyphen, + // period, or at sign. + // + // UserName is a required field + UserName *string `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 CreateUserInput) 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 CreateUserInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateUserInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateUserInput"} + if s.HomeDirectoryMappings != nil && len(s.HomeDirectoryMappings) < 1 { + invalidParams.Add(request.NewErrParamMinLen("HomeDirectoryMappings", 1)) + } + if s.Role == nil { + invalidParams.Add(request.NewErrParamRequired("Role")) + } + if s.Role != nil && len(*s.Role) < 20 { + invalidParams.Add(request.NewErrParamMinLen("Role", 20)) + } + if s.ServerId == nil { + invalidParams.Add(request.NewErrParamRequired("ServerId")) + } + if s.ServerId != nil && len(*s.ServerId) < 19 { + invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) + } + 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) < 3 { + invalidParams.Add(request.NewErrParamMinLen("UserName", 3)) + } + if s.HomeDirectoryMappings != nil { + for i, v := range s.HomeDirectoryMappings { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "HomeDirectoryMappings", i), err.(request.ErrInvalidParams)) + } + } + } + if s.PosixProfile != nil { + if err := s.PosixProfile.Validate(); err != nil { + invalidParams.AddNested("PosixProfile", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetHomeDirectory sets the HomeDirectory field's value. +func (s *CreateUserInput) SetHomeDirectory(v string) *CreateUserInput { + s.HomeDirectory = &v + return s +} + +// SetHomeDirectoryMappings sets the HomeDirectoryMappings field's value. +func (s *CreateUserInput) SetHomeDirectoryMappings(v []*HomeDirectoryMapEntry) *CreateUserInput { + s.HomeDirectoryMappings = v + return s +} + +// SetHomeDirectoryType sets the HomeDirectoryType field's value. +func (s *CreateUserInput) SetHomeDirectoryType(v string) *CreateUserInput { + s.HomeDirectoryType = &v + return s +} + +// SetPolicy sets the Policy field's value. +func (s *CreateUserInput) SetPolicy(v string) *CreateUserInput { + s.Policy = &v + return s +} + +// SetPosixProfile sets the PosixProfile field's value. +func (s *CreateUserInput) SetPosixProfile(v *PosixProfile) *CreateUserInput { + s.PosixProfile = v + return s +} + +// SetRole sets the Role field's value. +func (s *CreateUserInput) SetRole(v string) *CreateUserInput { + s.Role = &v + return s +} + +// SetServerId sets the ServerId field's value. +func (s *CreateUserInput) SetServerId(v string) *CreateUserInput { + s.ServerId = &v + return s +} + +// SetSshPublicKeyBody sets the SshPublicKeyBody field's value. +func (s *CreateUserInput) SetSshPublicKeyBody(v string) *CreateUserInput { + s.SshPublicKeyBody = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateUserInput) SetTags(v []*Tag) *CreateUserInput { + s.Tags = v + return s +} + +// SetUserName sets the UserName field's value. +func (s *CreateUserInput) SetUserName(v string) *CreateUserInput { + s.UserName = &v + return s +} + +type CreateUserOutput struct { + _ struct{} `type:"structure"` + + // The ID of the server that the user is attached to. + // + // ServerId is a required field + ServerId *string `min:"19" type:"string" required:"true"` + + // A unique string that identifies a user account associated with a server. + // + // UserName is a required field + UserName *string `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 CreateUserOutput) 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 CreateUserOutput) GoString() string { + return s.String() +} + +// SetServerId sets the ServerId field's value. +func (s *CreateUserOutput) SetServerId(v string) *CreateUserOutput { + s.ServerId = &v + return s +} + +// SetUserName sets the UserName field's value. +func (s *CreateUserOutput) SetUserName(v string) *CreateUserOutput { + s.UserName = &v + return s +} + +type CreateWorkflowInput struct { + _ struct{} `type:"structure"` + + // A textual description for the workflow. + Description *string `type:"string"` + + // Specifies the steps (actions) to take if errors are encountered during execution + // of the workflow. + // + // For custom steps, the lambda function needs to send FAILURE to the call back + // API to kick off the exception steps. Additionally, if the lambda does not + // send SUCCESS before it times out, the exception steps are executed. + OnExceptionSteps []*WorkflowStep `type:"list"` + + // Specifies the details for the steps that are in the specified workflow. + // + // The TYPE specifies which of the following actions is being taken for this + // step. + // + // * COPY: Copy the file to another location. + // + // * CUSTOM: Perform a custom step with an Lambda function target. + // + // * DELETE: Delete the file. + // + // * TAG: Add a tag to the file. + // + // Currently, copying and tagging are supported only on S3. + // + // For file location, you specify either the S3 bucket and key, or the EFS file + // system ID and path. + // + // Steps is a required field + Steps []*WorkflowStep `type:"list" required:"true"` + + // Key-value pairs that can be used to group and search for workflows. Tags + // are metadata attached to workflows for any purpose. + Tags []*Tag `min:"1" 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 CreateWorkflowInput) 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 CreateWorkflowInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateWorkflowInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateWorkflowInput"} + if s.Steps == nil { + invalidParams.Add(request.NewErrParamRequired("Steps")) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.OnExceptionSteps != nil { + for i, v := range s.OnExceptionSteps { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OnExceptionSteps", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Steps != nil { + for i, v := range s.Steps { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Steps", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *CreateWorkflowInput) SetDescription(v string) *CreateWorkflowInput { + s.Description = &v + return s +} + +// SetOnExceptionSteps sets the OnExceptionSteps field's value. +func (s *CreateWorkflowInput) SetOnExceptionSteps(v []*WorkflowStep) *CreateWorkflowInput { + s.OnExceptionSteps = v + return s +} + +// SetSteps sets the Steps field's value. +func (s *CreateWorkflowInput) SetSteps(v []*WorkflowStep) *CreateWorkflowInput { + s.Steps = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateWorkflowInput) SetTags(v []*Tag) *CreateWorkflowInput { + s.Tags = v + return s +} + +type CreateWorkflowOutput struct { + _ struct{} `type:"structure"` + + // A unique identifier for the workflow. + // + // WorkflowId is a required field + WorkflowId *string `min:"19" 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 CreateWorkflowOutput) 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 CreateWorkflowOutput) GoString() string { + return s.String() +} + +// SetWorkflowId sets the WorkflowId field's value. +func (s *CreateWorkflowOutput) SetWorkflowId(v string) *CreateWorkflowOutput { + s.WorkflowId = &v + return s +} + +// Each step type has its own StepDetails structure. +type CustomStepDetails struct { + _ struct{} `type:"structure"` + + // The name of the step, used as an identifier. + Name *string `type:"string"` + + // Specifies which file to use as input to the workflow step: either the output + // from the previous step, or the originally uploaded file for the workflow. + // + // * Enter ${previous.file} to use the previous file as the input. In this + // case, this workflow step uses the output file from the previous workflow + // step as input. This is the default value. + // + // * Enter ${original.file} to use the originally-uploaded file location + // as input for this step. + SourceFileLocation *string `type:"string"` + + // The ARN for the lambda function that is being called. + Target *string `type:"string"` + + // Timeout, in seconds, for the step. + TimeoutSeconds *int64 `min:"1" 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 CustomStepDetails) 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 CustomStepDetails) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CustomStepDetails) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CustomStepDetails"} + if s.TimeoutSeconds != nil && *s.TimeoutSeconds < 1 { + invalidParams.Add(request.NewErrParamMinValue("TimeoutSeconds", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *CustomStepDetails) SetName(v string) *CustomStepDetails { + s.Name = &v + return s +} + +// SetSourceFileLocation sets the SourceFileLocation field's value. +func (s *CustomStepDetails) SetSourceFileLocation(v string) *CustomStepDetails { + s.SourceFileLocation = &v + return s +} + +// SetTarget sets the Target field's value. +func (s *CustomStepDetails) SetTarget(v string) *CustomStepDetails { + s.Target = &v + return s +} + +// SetTimeoutSeconds sets the TimeoutSeconds field's value. +func (s *CustomStepDetails) SetTimeoutSeconds(v int64) *CustomStepDetails { + s.TimeoutSeconds = &v + return s +} + +type DeleteAccessInput struct { + _ struct{} `type:"structure"` + + // A unique identifier that is required to identify specific groups within your + // directory. The users of the group that you associate have access to your + // Amazon S3 or Amazon EFS resources over the enabled protocols using Transfer + // Family. If you know the group name, you can view the SID values by running + // the following command using Windows PowerShell. + // + // Get-ADGroup -Filter {samAccountName -like "YourGroupName*"} -Properties * + // | Select SamAccountName,ObjectSid + // + // In that command, replace YourGroupName with the name of your Active Directory + // group. + // + // The regular expression used to validate this parameter is a string of characters + // consisting of uppercase and lowercase alphanumeric characters with no spaces. + // You can also include underscores or any of the following characters: =,.@:/- + // + // ExternalId is a required field + ExternalId *string `min:"1" type:"string" required:"true"` + + // A system-assigned unique identifier for a server that has this user assigned. + // + // ServerId is a required field + ServerId *string `min:"19" 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 DeleteAccessInput) 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 DeleteAccessInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteAccessInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteAccessInput"} + if s.ExternalId == nil { + invalidParams.Add(request.NewErrParamRequired("ExternalId")) + } + if s.ExternalId != nil && len(*s.ExternalId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ExternalId", 1)) + } + if s.ServerId == nil { + invalidParams.Add(request.NewErrParamRequired("ServerId")) + } + if s.ServerId != nil && len(*s.ServerId) < 19 { + invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetExternalId sets the ExternalId field's value. +func (s *DeleteAccessInput) SetExternalId(v string) *DeleteAccessInput { + s.ExternalId = &v + return s +} + +// SetServerId sets the ServerId field's value. +func (s *DeleteAccessInput) SetServerId(v string) *DeleteAccessInput { + s.ServerId = &v + return s +} + +type DeleteAccessOutput 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 DeleteAccessOutput) 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 DeleteAccessOutput) GoString() string { + return s.String() +} + +type DeleteAgreementInput struct { + _ struct{} `type:"structure"` + + // A unique identifier for the agreement. This identifier is returned when you + // create an agreement. + // + // AgreementId is a required field + AgreementId *string `min:"19" type:"string" required:"true"` + + // The server ID associated with the agreement that you are deleting. + // + // ServerId is a required field + ServerId *string `min:"19" 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 DeleteAgreementInput) 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 DeleteAgreementInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteAgreementInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteAgreementInput"} + if s.AgreementId == nil { + invalidParams.Add(request.NewErrParamRequired("AgreementId")) + } + if s.AgreementId != nil && len(*s.AgreementId) < 19 { + invalidParams.Add(request.NewErrParamMinLen("AgreementId", 19)) + } + if s.ServerId == nil { + invalidParams.Add(request.NewErrParamRequired("ServerId")) + } + if s.ServerId != nil && len(*s.ServerId) < 19 { + invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAgreementId sets the AgreementId field's value. +func (s *DeleteAgreementInput) SetAgreementId(v string) *DeleteAgreementInput { + s.AgreementId = &v + return s +} + +// SetServerId sets the ServerId field's value. +func (s *DeleteAgreementInput) SetServerId(v string) *DeleteAgreementInput { + s.ServerId = &v + return s +} + +type DeleteAgreementOutput 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 DeleteAgreementOutput) 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 DeleteAgreementOutput) GoString() string { + return s.String() +} + +type DeleteCertificateInput struct { + _ struct{} `type:"structure"` + + // The ID of the certificate object that you are deleting. + // + // CertificateId is a required field + CertificateId *string `min:"22" 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 DeleteCertificateInput) 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 DeleteCertificateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteCertificateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteCertificateInput"} + if s.CertificateId == nil { + invalidParams.Add(request.NewErrParamRequired("CertificateId")) + } + if s.CertificateId != nil && len(*s.CertificateId) < 22 { + invalidParams.Add(request.NewErrParamMinLen("CertificateId", 22)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCertificateId sets the CertificateId field's value. +func (s *DeleteCertificateInput) SetCertificateId(v string) *DeleteCertificateInput { + s.CertificateId = &v + return s +} + +type DeleteCertificateOutput 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 DeleteCertificateOutput) 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 DeleteCertificateOutput) GoString() string { + return s.String() +} + +type DeleteConnectorInput struct { + _ struct{} `type:"structure"` + + // The unique identifier for the connector. + // + // ConnectorId is a required field + ConnectorId *string `min:"19" 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 DeleteConnectorInput) 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 DeleteConnectorInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteConnectorInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteConnectorInput"} + if s.ConnectorId == nil { + invalidParams.Add(request.NewErrParamRequired("ConnectorId")) + } + if s.ConnectorId != nil && len(*s.ConnectorId) < 19 { + invalidParams.Add(request.NewErrParamMinLen("ConnectorId", 19)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConnectorId sets the ConnectorId field's value. +func (s *DeleteConnectorInput) SetConnectorId(v string) *DeleteConnectorInput { + s.ConnectorId = &v + return s +} + +type DeleteConnectorOutput 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 DeleteConnectorOutput) 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 DeleteConnectorOutput) GoString() string { + return s.String() +} + +type DeleteProfileInput struct { + _ struct{} `type:"structure"` + + // The ID of the profile that you are deleting. + // + // ProfileId is a required field + ProfileId *string `min:"19" 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 DeleteProfileInput) 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 DeleteProfileInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteProfileInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteProfileInput"} + if s.ProfileId == nil { + invalidParams.Add(request.NewErrParamRequired("ProfileId")) + } + if s.ProfileId != nil && len(*s.ProfileId) < 19 { + invalidParams.Add(request.NewErrParamMinLen("ProfileId", 19)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetProfileId sets the ProfileId field's value. +func (s *DeleteProfileInput) SetProfileId(v string) *DeleteProfileInput { + s.ProfileId = &v + return s +} + +type DeleteProfileOutput 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 DeleteProfileOutput) 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 DeleteProfileOutput) GoString() string { + return s.String() +} + +type DeleteServerInput struct { + _ struct{} `type:"structure"` + + // A unique system-assigned identifier for a server instance. + // + // ServerId is a required field + ServerId *string `min:"19" 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 DeleteServerInput) 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 DeleteServerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteServerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteServerInput"} + if s.ServerId == nil { + invalidParams.Add(request.NewErrParamRequired("ServerId")) + } + if s.ServerId != nil && len(*s.ServerId) < 19 { + invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetServerId sets the ServerId field's value. +func (s *DeleteServerInput) SetServerId(v string) *DeleteServerInput { + s.ServerId = &v + return s +} + +type DeleteServerOutput 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 DeleteServerOutput) 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 DeleteServerOutput) GoString() string { + return s.String() +} + +type DeleteSshPublicKeyInput struct { + _ struct{} `type:"structure"` + + // A system-assigned unique identifier for a file transfer protocol-enabled + // server instance that has the user assigned to it. + // + // ServerId is a required field + ServerId *string `min:"19" type:"string" required:"true"` + + // A unique identifier used to reference your user's specific SSH key. + // + // SshPublicKeyId is a required field + SshPublicKeyId *string `min:"21" type:"string" required:"true"` + + // A unique string that identifies a user whose public key is being deleted. + // + // UserName is a required field + UserName *string `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 DeleteSshPublicKeyInput) 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 DeleteSshPublicKeyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteSshPublicKeyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteSshPublicKeyInput"} + if s.ServerId == nil { + invalidParams.Add(request.NewErrParamRequired("ServerId")) + } + if s.ServerId != nil && len(*s.ServerId) < 19 { + invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) + } + if s.SshPublicKeyId == nil { + invalidParams.Add(request.NewErrParamRequired("SshPublicKeyId")) + } + if s.SshPublicKeyId != nil && len(*s.SshPublicKeyId) < 21 { + invalidParams.Add(request.NewErrParamMinLen("SshPublicKeyId", 21)) + } + if s.UserName == nil { + invalidParams.Add(request.NewErrParamRequired("UserName")) + } + if s.UserName != nil && len(*s.UserName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("UserName", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetServerId sets the ServerId field's value. +func (s *DeleteSshPublicKeyInput) SetServerId(v string) *DeleteSshPublicKeyInput { + s.ServerId = &v + return s +} + +// SetSshPublicKeyId sets the SshPublicKeyId field's value. +func (s *DeleteSshPublicKeyInput) SetSshPublicKeyId(v string) *DeleteSshPublicKeyInput { + s.SshPublicKeyId = &v + return s +} + +// SetUserName sets the UserName field's value. +func (s *DeleteSshPublicKeyInput) SetUserName(v string) *DeleteSshPublicKeyInput { + s.UserName = &v + return s +} + +type DeleteSshPublicKeyOutput 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 DeleteSshPublicKeyOutput) 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 DeleteSshPublicKeyOutput) GoString() string { + return s.String() +} + +// The name of the step, used to identify the delete step. +type DeleteStepDetails struct { + _ struct{} `type:"structure"` + + // The name of the step, used as an identifier. + Name *string `type:"string"` + + // Specifies which file to use as input to the workflow step: either the output + // from the previous step, or the originally uploaded file for the workflow. + // + // * Enter ${previous.file} to use the previous file as the input. In this + // case, this workflow step uses the output file from the previous workflow + // step as input. This is the default value. + // + // * Enter ${original.file} to use the originally-uploaded file location + // as input for this step. + SourceFileLocation *string `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 DeleteStepDetails) 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 DeleteStepDetails) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *DeleteStepDetails) SetName(v string) *DeleteStepDetails { + s.Name = &v + return s +} + +// SetSourceFileLocation sets the SourceFileLocation field's value. +func (s *DeleteStepDetails) SetSourceFileLocation(v string) *DeleteStepDetails { + s.SourceFileLocation = &v + return s +} + +type DeleteUserInput struct { + _ struct{} `type:"structure"` + + // A system-assigned unique identifier for a server instance that has the user + // assigned to it. + // + // ServerId is a required field + ServerId *string `min:"19" type:"string" required:"true"` + + // A unique string that identifies a user that is being deleted from a server. + // + // UserName is a required field + UserName *string `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 DeleteUserInput) 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 DeleteUserInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteUserInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteUserInput"} + if s.ServerId == nil { + invalidParams.Add(request.NewErrParamRequired("ServerId")) + } + if s.ServerId != nil && len(*s.ServerId) < 19 { + invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) + } + if s.UserName == nil { + invalidParams.Add(request.NewErrParamRequired("UserName")) + } + if s.UserName != nil && len(*s.UserName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("UserName", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetServerId sets the ServerId field's value. +func (s *DeleteUserInput) SetServerId(v string) *DeleteUserInput { + s.ServerId = &v + return s +} + +// SetUserName sets the UserName field's value. +func (s *DeleteUserInput) SetUserName(v string) *DeleteUserInput { + s.UserName = &v + return s +} + +type DeleteUserOutput 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 DeleteUserOutput) 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 DeleteUserOutput) GoString() string { + return s.String() +} + +type DeleteWorkflowInput struct { + _ struct{} `type:"structure"` + + // A unique identifier for the workflow. + // + // WorkflowId is a required field + WorkflowId *string `min:"19" 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 DeleteWorkflowInput) 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 DeleteWorkflowInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteWorkflowInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteWorkflowInput"} + if s.WorkflowId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkflowId")) + } + if s.WorkflowId != nil && len(*s.WorkflowId) < 19 { + invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 19)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetWorkflowId sets the WorkflowId field's value. +func (s *DeleteWorkflowInput) SetWorkflowId(v string) *DeleteWorkflowInput { + s.WorkflowId = &v + return s +} + +type DeleteWorkflowOutput 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 DeleteWorkflowOutput) 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 DeleteWorkflowOutput) GoString() string { + return s.String() +} + +type DescribeAccessInput struct { + _ struct{} `type:"structure"` + + // A unique identifier that is required to identify specific groups within your + // directory. The users of the group that you associate have access to your + // Amazon S3 or Amazon EFS resources over the enabled protocols using Transfer + // Family. If you know the group name, you can view the SID values by running + // the following command using Windows PowerShell. + // + // Get-ADGroup -Filter {samAccountName -like "YourGroupName*"} -Properties * + // | Select SamAccountName,ObjectSid + // + // In that command, replace YourGroupName with the name of your Active Directory + // group. + // + // The regular expression used to validate this parameter is a string of characters + // consisting of uppercase and lowercase alphanumeric characters with no spaces. + // You can also include underscores or any of the following characters: =,.@:/- + // + // ExternalId is a required field + ExternalId *string `min:"1" type:"string" required:"true"` + + // A system-assigned unique identifier for a server that has this access assigned. + // + // ServerId is a required field + ServerId *string `min:"19" 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 DescribeAccessInput) 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 DescribeAccessInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeAccessInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeAccessInput"} + if s.ExternalId == nil { + invalidParams.Add(request.NewErrParamRequired("ExternalId")) + } + if s.ExternalId != nil && len(*s.ExternalId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ExternalId", 1)) + } + if s.ServerId == nil { + invalidParams.Add(request.NewErrParamRequired("ServerId")) + } + if s.ServerId != nil && len(*s.ServerId) < 19 { + invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetExternalId sets the ExternalId field's value. +func (s *DescribeAccessInput) SetExternalId(v string) *DescribeAccessInput { + s.ExternalId = &v + return s +} + +// SetServerId sets the ServerId field's value. +func (s *DescribeAccessInput) SetServerId(v string) *DescribeAccessInput { + s.ServerId = &v + return s +} + +type DescribeAccessOutput struct { + _ struct{} `type:"structure"` + + // The external ID of the server that the access is attached to. + // + // Access is a required field + Access *DescribedAccess `type:"structure" required:"true"` + + // A system-assigned unique identifier for a server that has this access assigned. + // + // ServerId is a required field + ServerId *string `min:"19" 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 DescribeAccessOutput) 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 DescribeAccessOutput) GoString() string { + return s.String() +} + +// SetAccess sets the Access field's value. +func (s *DescribeAccessOutput) SetAccess(v *DescribedAccess) *DescribeAccessOutput { + s.Access = v + return s +} + +// SetServerId sets the ServerId field's value. +func (s *DescribeAccessOutput) SetServerId(v string) *DescribeAccessOutput { + s.ServerId = &v + return s +} + +type DescribeAgreementInput struct { + _ struct{} `type:"structure"` + + // A unique identifier for the agreement. This identifier is returned when you + // create an agreement. + // + // AgreementId is a required field + AgreementId *string `min:"19" type:"string" required:"true"` + + // The server ID that's associated with the agreement. + // + // ServerId is a required field + ServerId *string `min:"19" 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 DescribeAgreementInput) 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 DescribeAgreementInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeAgreementInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeAgreementInput"} + if s.AgreementId == nil { + invalidParams.Add(request.NewErrParamRequired("AgreementId")) + } + if s.AgreementId != nil && len(*s.AgreementId) < 19 { + invalidParams.Add(request.NewErrParamMinLen("AgreementId", 19)) + } + if s.ServerId == nil { + invalidParams.Add(request.NewErrParamRequired("ServerId")) + } + if s.ServerId != nil && len(*s.ServerId) < 19 { + invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAgreementId sets the AgreementId field's value. +func (s *DescribeAgreementInput) SetAgreementId(v string) *DescribeAgreementInput { + s.AgreementId = &v + return s +} + +// SetServerId sets the ServerId field's value. +func (s *DescribeAgreementInput) SetServerId(v string) *DescribeAgreementInput { + s.ServerId = &v + return s +} + +type DescribeAgreementOutput struct { + _ struct{} `type:"structure"` + + // The details for the specified agreement, returned as a DescribedAgreement + // object. + // + // Agreement is a required field + Agreement *DescribedAgreement `type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeAgreementOutput) 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 DescribeAgreementOutput) GoString() string { + return s.String() +} + +// SetAgreement sets the Agreement field's value. +func (s *DescribeAgreementOutput) SetAgreement(v *DescribedAgreement) *DescribeAgreementOutput { + s.Agreement = v + return s +} + +type DescribeCertificateInput struct { + _ struct{} `type:"structure"` + + // An array of identifiers for the imported certificates. You use this identifier + // for working with profiles and partner profiles. + // + // CertificateId is a required field + CertificateId *string `min:"22" 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 DescribeCertificateInput) 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 DescribeCertificateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeCertificateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeCertificateInput"} + if s.CertificateId == nil { + invalidParams.Add(request.NewErrParamRequired("CertificateId")) + } + if s.CertificateId != nil && len(*s.CertificateId) < 22 { + invalidParams.Add(request.NewErrParamMinLen("CertificateId", 22)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCertificateId sets the CertificateId field's value. +func (s *DescribeCertificateInput) SetCertificateId(v string) *DescribeCertificateInput { + s.CertificateId = &v + return s +} + +type DescribeCertificateOutput struct { + _ struct{} `type:"structure"` + + // The details for the specified certificate, returned as an object. + // + // Certificate is a required field + Certificate *DescribedCertificate `type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeCertificateOutput) 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 DescribeCertificateOutput) GoString() string { + return s.String() +} + +// SetCertificate sets the Certificate field's value. +func (s *DescribeCertificateOutput) SetCertificate(v *DescribedCertificate) *DescribeCertificateOutput { + s.Certificate = v + return s +} + +type DescribeConnectorInput struct { + _ struct{} `type:"structure"` + + // The unique identifier for the connector. + // + // ConnectorId is a required field + ConnectorId *string `min:"19" 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 DescribeConnectorInput) 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 DescribeConnectorInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeConnectorInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeConnectorInput"} + if s.ConnectorId == nil { + invalidParams.Add(request.NewErrParamRequired("ConnectorId")) + } + if s.ConnectorId != nil && len(*s.ConnectorId) < 19 { + invalidParams.Add(request.NewErrParamMinLen("ConnectorId", 19)) } -} -// Code returns the exception type name. -func (s *ConflictException) Code() string { - return "ConflictException" + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// Message returns the exception's message. -func (s *ConflictException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetConnectorId sets the ConnectorId field's value. +func (s *DescribeConnectorInput) SetConnectorId(v string) *DescribeConnectorInput { + s.ConnectorId = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ConflictException) OrigErr() error { - return nil +type DescribeConnectorOutput struct { + _ struct{} `type:"structure"` + + // The structure that contains the details of the connector. + // + // Connector is a required field + Connector *DescribedConnector `type:"structure" required:"true"` } -func (s *ConflictException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// 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 DescribeConnectorOutput) String() string { + return awsutil.Prettify(s) } -// Status code returns the HTTP status code for the request's response error. -func (s *ConflictException) StatusCode() int { - return s.RespMetadata.StatusCode +// 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 DescribeConnectorOutput) GoString() string { + return s.String() } -// RequestID returns the service's response RequestID for request. -func (s *ConflictException) RequestID() string { - return s.RespMetadata.RequestID +// SetConnector sets the Connector field's value. +func (s *DescribeConnectorOutput) SetConnector(v *DescribedConnector) *DescribeConnectorOutput { + s.Connector = v + return s } -// Each step type has its own StepDetails structure. -type CopyStepDetails struct { +type DescribeExecutionInput struct { _ struct{} `type:"structure"` - // Specifies the location for the file being copied. Only applicable for Copy - // type workflow steps. Use ${Transfer:username} in this field to parametrize - // the destination prefix by username. - DestinationFileLocation *InputFileLocation `type:"structure"` - - // The name of the step, used as an identifier. - Name *string `type:"string"` - - // A flag that indicates whether or not to overwrite an existing file of the - // same name. The default is FALSE. - OverwriteExisting *string `type:"string" enum:"OverwriteExisting"` - - // Specifies which file to use as input to the workflow step: either the output - // from the previous step, or the originally uploaded file for the workflow. + // A unique identifier for the execution of a workflow. // - // * Enter ${previous.file} to use the previous file as the input. In this - // case, this workflow step uses the output file from the previous workflow - // step as input. This is the default value. + // ExecutionId is a required field + ExecutionId *string `min:"36" type:"string" required:"true"` + + // A unique identifier for the workflow. // - // * Enter ${original.file} to use the originally-uploaded file location - // as input for this step. - SourceFileLocation *string `type:"string"` + // WorkflowId is a required field + WorkflowId *string `min:"19" type:"string" required:"true"` } // String returns the string representation. @@ -3688,7 +8945,7 @@ type CopyStepDetails 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 CopyStepDetails) String() string { +func (s DescribeExecutionInput) String() string { return awsutil.Prettify(s) } @@ -3697,17 +8954,24 @@ func (s CopyStepDetails) 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 CopyStepDetails) GoString() string { +func (s DescribeExecutionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CopyStepDetails) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CopyStepDetails"} - if s.DestinationFileLocation != nil { - if err := s.DestinationFileLocation.Validate(); err != nil { - invalidParams.AddNested("DestinationFileLocation", err.(request.ErrInvalidParams)) - } +func (s *DescribeExecutionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeExecutionInput"} + if s.ExecutionId == nil { + invalidParams.Add(request.NewErrParamRequired("ExecutionId")) + } + if s.ExecutionId != nil && len(*s.ExecutionId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ExecutionId", 36)) + } + if s.WorkflowId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkflowId")) + } + if s.WorkflowId != nil && len(*s.WorkflowId) < 19 { + invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 19)) } if invalidParams.Len() > 0 { @@ -3716,128 +8980,151 @@ func (s *CopyStepDetails) Validate() error { return nil } -// SetDestinationFileLocation sets the DestinationFileLocation field's value. -func (s *CopyStepDetails) SetDestinationFileLocation(v *InputFileLocation) *CopyStepDetails { - s.DestinationFileLocation = v +// SetExecutionId sets the ExecutionId field's value. +func (s *DescribeExecutionInput) SetExecutionId(v string) *DescribeExecutionInput { + s.ExecutionId = &v return s } -// SetName sets the Name field's value. -func (s *CopyStepDetails) SetName(v string) *CopyStepDetails { - s.Name = &v +// SetWorkflowId sets the WorkflowId field's value. +func (s *DescribeExecutionInput) SetWorkflowId(v string) *DescribeExecutionInput { + s.WorkflowId = &v return s } -// SetOverwriteExisting sets the OverwriteExisting field's value. -func (s *CopyStepDetails) SetOverwriteExisting(v string) *CopyStepDetails { - s.OverwriteExisting = &v +type DescribeExecutionOutput struct { + _ struct{} `type:"structure"` + + // The structure that contains the details of the workflow' execution. + // + // Execution is a required field + Execution *DescribedExecution `type:"structure" required:"true"` + + // A unique identifier for the workflow. + // + // WorkflowId is a required field + WorkflowId *string `min:"19" 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 DescribeExecutionOutput) 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 DescribeExecutionOutput) GoString() string { + return s.String() +} + +// SetExecution sets the Execution field's value. +func (s *DescribeExecutionOutput) SetExecution(v *DescribedExecution) *DescribeExecutionOutput { + s.Execution = v return s } -// SetSourceFileLocation sets the SourceFileLocation field's value. -func (s *CopyStepDetails) SetSourceFileLocation(v string) *CopyStepDetails { - s.SourceFileLocation = &v +// SetWorkflowId sets the WorkflowId field's value. +func (s *DescribeExecutionOutput) SetWorkflowId(v string) *DescribeExecutionOutput { + s.WorkflowId = &v return s } -type CreateAccessInput struct { +type DescribeProfileInput struct { _ struct{} `type:"structure"` - // A unique identifier that is required to identify specific groups within your - // directory. The users of the group that you associate have access to your - // Amazon S3 or Amazon EFS resources over the enabled protocols using Amazon - // Web Services Transfer Family. If you know the group name, you can view the - // SID values by running the following command using Windows PowerShell. - // - // Get-ADGroup -Filter {samAccountName -like "YourGroupName*"} -Properties * - // | Select SamAccountName,ObjectSid - // - // In that command, replace YourGroupName with the name of your Active Directory - // group. - // - // The regex used to validate this parameter is a string of characters consisting - // of uppercase and lowercase alphanumeric characters with no spaces. You can - // also include underscores or any of the following characters: =,.@:/- + // The identifier of the profile that you want described. // - // ExternalId is a required field - ExternalId *string `min:"1" type:"string" required:"true"` + // ProfileId is a required field + ProfileId *string `min:"19" type:"string" required:"true"` +} - // The landing directory (folder) for a user when they log in to the server - // using the client. - // - // A HomeDirectory example is /bucket_name/home/mydirectory. - HomeDirectory *string `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 DescribeProfileInput) String() string { + return awsutil.Prettify(s) +} - // Logical directory mappings that specify what Amazon S3 or Amazon EFS paths - // and keys should be visible to your user and how you want to make them visible. - // You must specify the Entry and Target pair, where Entry shows how the path - // is made visible and Target is the actual Amazon S3 or Amazon EFS path. If - // you only specify a target, it is displayed as is. You also must ensure that - // your Amazon Web Services Identity and Access Management (IAM) role provides - // access to paths in Target. This value can only be set when HomeDirectoryType - // is set to LOGICAL. - // - // The following is an Entry and Target pair example. - // - // [ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ] - // - // In most cases, you can use this value instead of the session policy to lock - // down your user to the designated home directory ("chroot"). To do this, you - // can set Entry to / and set Target to the HomeDirectory parameter value. - // - // The following is an Entry and Target pair example for chroot. - // - // [ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ] - HomeDirectoryMappings []*HomeDirectoryMapEntry `min:"1" type:"list"` +// 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 DescribeProfileInput) GoString() string { + return s.String() +} - // The type of landing directory (folder) you want your users' home directory - // to be when they log into the server. If you set it to PATH, the user will - // see the absolute Amazon S3 bucket or EFS paths as is in their file transfer - // protocol clients. If you set it LOGICAL, you need to provide mappings in - // the HomeDirectoryMappings for how you want to make Amazon S3 or EFS paths - // visible to your users. - HomeDirectoryType *string `type:"string" enum:"HomeDirectoryType"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeProfileInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeProfileInput"} + if s.ProfileId == nil { + invalidParams.Add(request.NewErrParamRequired("ProfileId")) + } + if s.ProfileId != nil && len(*s.ProfileId) < 19 { + invalidParams.Add(request.NewErrParamMinLen("ProfileId", 19)) + } - // A session policy for your user so that you can use the same IAM role across - // multiple users. This policy scopes down user access to portions of their - // Amazon S3 bucket. Variables that you can use inside this policy include ${Transfer:UserName}, - // ${Transfer:HomeDirectory}, and ${Transfer:HomeBucket}. - // - // This only applies when the domain of ServerId is S3. EFS does not use session - // policies. - // - // For session policies, Amazon Web Services Transfer Family stores the policy - // as a JSON blob, instead of the Amazon Resource Name (ARN) of the policy. - // You save the policy as a JSON blob and pass it in the Policy argument. - // - // For an example of a session policy, see Example session policy (https://docs.aws.amazon.com/transfer/latest/userguide/session-policy.html). + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetProfileId sets the ProfileId field's value. +func (s *DescribeProfileInput) SetProfileId(v string) *DescribeProfileInput { + s.ProfileId = &v + return s +} + +type DescribeProfileOutput struct { + _ struct{} `type:"structure"` + + // The details of the specified profile, returned as an object. // - // For more information, see AssumeRole (https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) - // in the Amazon Web Services Security Token Service API Reference. - Policy *string `type:"string"` + // Profile is a required field + Profile *DescribedProfile `type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeProfileOutput) 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 DescribeProfileOutput) GoString() string { + return s.String() +} - // The full POSIX identity, including user ID (Uid), group ID (Gid), and any - // secondary groups IDs (SecondaryGids), that controls your users' access to - // your Amazon EFS file systems. The POSIX permissions that are set on files - // and directories in your file system determine the level of access your users - // get when transferring files into and out of your Amazon EFS file systems. - PosixProfile *PosixProfile `type:"structure"` +// SetProfile sets the Profile field's value. +func (s *DescribeProfileOutput) SetProfile(v *DescribedProfile) *DescribeProfileOutput { + s.Profile = v + return s +} - // Specifies the Amazon Resource Name (ARN) of the IAM role that controls your - // users' access to your Amazon S3 bucket or EFS file system. The policies attached - // to this role determine the level of access that you want to provide your - // users when transferring files into and out of your Amazon S3 bucket or EFS - // file system. The IAM role should also contain a trust relationship that allows - // the server to access your resources when servicing your users' transfer requests. - // - // Role is a required field - Role *string `min:"20" type:"string" required:"true"` +type DescribeSecurityPolicyInput struct { + _ struct{} `type:"structure"` - // A system-assigned unique identifier for a server instance. This is the specific - // server that you added your user to. + // Specifies the name of the security policy that is attached to the server. // - // ServerId is a required field - ServerId *string `min:"19" type:"string" required:"true"` + // SecurityPolicyName is a required field + SecurityPolicyName *string `type:"string" required:"true"` } // String returns the string representation. @@ -3845,7 +9132,7 @@ type CreateAccessInput 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 CreateAccessInput) String() string { +func (s DescribeSecurityPolicyInput) String() string { return awsutil.Prettify(s) } @@ -3854,48 +9141,15 @@ func (s CreateAccessInput) 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 CreateAccessInput) GoString() string { +func (s DescribeSecurityPolicyInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateAccessInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateAccessInput"} - if s.ExternalId == nil { - invalidParams.Add(request.NewErrParamRequired("ExternalId")) - } - if s.ExternalId != nil && len(*s.ExternalId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ExternalId", 1)) - } - if s.HomeDirectoryMappings != nil && len(s.HomeDirectoryMappings) < 1 { - invalidParams.Add(request.NewErrParamMinLen("HomeDirectoryMappings", 1)) - } - if s.Role == nil { - invalidParams.Add(request.NewErrParamRequired("Role")) - } - if s.Role != nil && len(*s.Role) < 20 { - invalidParams.Add(request.NewErrParamMinLen("Role", 20)) - } - if s.ServerId == nil { - invalidParams.Add(request.NewErrParamRequired("ServerId")) - } - if s.ServerId != nil && len(*s.ServerId) < 19 { - invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) - } - if s.HomeDirectoryMappings != nil { - for i, v := range s.HomeDirectoryMappings { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "HomeDirectoryMappings", i), err.(request.ErrInvalidParams)) - } - } - } - if s.PosixProfile != nil { - if err := s.PosixProfile.Validate(); err != nil { - invalidParams.AddNested("PosixProfile", err.(request.ErrInvalidParams)) - } +func (s *DescribeSecurityPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeSecurityPolicyInput"} + if s.SecurityPolicyName == nil { + invalidParams.Add(request.NewErrParamRequired("SecurityPolicyName")) } if invalidParams.Len() > 0 { @@ -3904,65 +9158,49 @@ func (s *CreateAccessInput) Validate() error { return nil } -// SetExternalId sets the ExternalId field's value. -func (s *CreateAccessInput) SetExternalId(v string) *CreateAccessInput { - s.ExternalId = &v - return s -} - -// SetHomeDirectory sets the HomeDirectory field's value. -func (s *CreateAccessInput) SetHomeDirectory(v string) *CreateAccessInput { - s.HomeDirectory = &v - return s -} - -// SetHomeDirectoryMappings sets the HomeDirectoryMappings field's value. -func (s *CreateAccessInput) SetHomeDirectoryMappings(v []*HomeDirectoryMapEntry) *CreateAccessInput { - s.HomeDirectoryMappings = v +// SetSecurityPolicyName sets the SecurityPolicyName field's value. +func (s *DescribeSecurityPolicyInput) SetSecurityPolicyName(v string) *DescribeSecurityPolicyInput { + s.SecurityPolicyName = &v return s } -// SetHomeDirectoryType sets the HomeDirectoryType field's value. -func (s *CreateAccessInput) SetHomeDirectoryType(v string) *CreateAccessInput { - s.HomeDirectoryType = &v - return s -} +type DescribeSecurityPolicyOutput struct { + _ struct{} `type:"structure"` -// SetPolicy sets the Policy field's value. -func (s *CreateAccessInput) SetPolicy(v string) *CreateAccessInput { - s.Policy = &v - return s + // An array containing the properties of the security policy. + // + // SecurityPolicy is a required field + SecurityPolicy *DescribedSecurityPolicy `type:"structure" required:"true"` } -// SetPosixProfile sets the PosixProfile field's value. -func (s *CreateAccessInput) SetPosixProfile(v *PosixProfile) *CreateAccessInput { - s.PosixProfile = 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 DescribeSecurityPolicyOutput) String() string { + return awsutil.Prettify(s) } -// SetRole sets the Role field's value. -func (s *CreateAccessInput) SetRole(v string) *CreateAccessInput { - s.Role = &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 DescribeSecurityPolicyOutput) GoString() string { + return s.String() } -// SetServerId sets the ServerId field's value. -func (s *CreateAccessInput) SetServerId(v string) *CreateAccessInput { - s.ServerId = &v +// SetSecurityPolicy sets the SecurityPolicy field's value. +func (s *DescribeSecurityPolicyOutput) SetSecurityPolicy(v *DescribedSecurityPolicy) *DescribeSecurityPolicyOutput { + s.SecurityPolicy = v return s } -type CreateAccessOutput struct { +type DescribeServerInput struct { _ struct{} `type:"structure"` - // The external ID of the group whose users have access to your Amazon S3 or - // Amazon EFS resources over the enabled protocols using Amazon Web Services - // Transfer Family. - // - // ExternalId is a required field - ExternalId *string `min:"1" type:"string" required:"true"` - - // The ID of the server that the user is attached to. + // A system-assigned unique identifier for a server. // // ServerId is a required field ServerId *string `min:"19" type:"string" required:"true"` @@ -3973,7 +9211,7 @@ type CreateAccessOutput 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 CreateAccessOutput) String() string { +func (s DescribeServerInput) String() string { return awsutil.Prettify(s) } @@ -3982,227 +9220,79 @@ func (s CreateAccessOutput) 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 CreateAccessOutput) GoString() string { +func (s DescribeServerInput) GoString() string { return s.String() } -// SetExternalId sets the ExternalId field's value. -func (s *CreateAccessOutput) SetExternalId(v string) *CreateAccessOutput { - s.ExternalId = &v - return s -} - -// SetServerId sets the ServerId field's value. -func (s *CreateAccessOutput) SetServerId(v string) *CreateAccessOutput { - s.ServerId = &v - return s -} - -type CreateServerInput struct { - _ struct{} `type:"structure"` - - // The Amazon Resource Name (ARN) of the Amazon Web Services Certificate Manager - // (ACM) certificate. Required when Protocols is set to FTPS. - // - // To request a new public certificate, see Request a public certificate (https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html) - // in the Amazon Web Services Certificate Manager User Guide. - // - // To import an existing certificate into ACM, see Importing certificates into - // ACM (https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) - // in the Amazon Web Services Certificate Manager User Guide. - // - // To request a private certificate to use FTPS through private IP addresses, - // see Request a private certificate (https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html) - // in the Amazon Web Services Certificate Manager User Guide. - // - // Certificates with the following cryptographic algorithms and key sizes are - // supported: - // - // * 2048-bit RSA (RSA_2048) - // - // * 4096-bit RSA (RSA_4096) - // - // * Elliptic Prime Curve 256 bit (EC_prime256v1) - // - // * Elliptic Prime Curve 384 bit (EC_secp384r1) - // - // * Elliptic Prime Curve 521 bit (EC_secp521r1) - // - // The certificate must be a valid SSL/TLS X.509 version 3 certificate with - // FQDN or IP address specified and information about the issuer. - Certificate *string `type:"string"` - - // The domain of the storage system that is used for file transfers. There are - // two domains available: Amazon Simple Storage Service (Amazon S3) and Amazon - // Elastic File System (Amazon EFS). The default value is S3. - // - // After the server is created, the domain cannot be changed. - Domain *string `type:"string" enum:"Domain"` - - // The virtual private cloud (VPC) endpoint settings that are configured for - // your server. When you host your endpoint within your VPC, you can make it - // accessible only to resources within your VPC, or you can attach Elastic IP - // addresses and make it accessible to clients over the internet. Your VPC's - // default security groups are automatically assigned to your endpoint. - EndpointDetails *EndpointDetails `type:"structure"` - - // The type of endpoint that you want your server to use. You can choose to - // make your server's endpoint publicly accessible (PUBLIC) or host it inside - // your VPC. With an endpoint that is hosted in a VPC, you can restrict access - // to your server and resources only within your VPC or choose to make it internet - // facing by attaching Elastic IP addresses directly to it. - // - // After May 19, 2021, you won't be able to create a server using EndpointType=VPC_ENDPOINT - // in your Amazon Web Services account if your account hasn't already done so - // before May 19, 2021. If you have already created servers with EndpointType=VPC_ENDPOINT - // in your Amazon Web Services account on or before May 19, 2021, you will not - // be affected. After this date, use EndpointType=VPC. - // - // For more information, see https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint. - // - // It is recommended that you use VPC as the EndpointType. With this endpoint - // type, you have the option to directly associate up to three Elastic IPv4 - // addresses (BYO IP included) with your server's endpoint and use VPC security - // groups to restrict traffic by the client's public IP address. This is not - // possible with EndpointType set to VPC_ENDPOINT. - EndpointType *string `type:"string" enum:"EndpointType"` - - // The RSA, ECDSA, or ED25519 private key to use for your server. - // - // Use the following command to generate an RSA 2048 bit key with no passphrase: - // - // ssh-keygen -t rsa -b 2048 -N "" -m PEM -f my-new-server-key. - // - // Use a minimum value of 2048 for the -b option: you can create a stronger - // key using 3072 or 4096. - // - // Use the following command to generate an ECDSA 256 bit key with no passphrase: - // - // ssh-keygen -t ecdsa -b 256 -N "" -m PEM -f my-new-server-key. - // - // Valid values for the -b option for ECDSA are 256, 384, and 521. - // - // Use the following command to generate an ED25519 key with no passphrase: - // - // ssh-keygen -t ed25519 -N "" -f my-new-server-key. - // - // For all of these commands, you can replace my-new-server-key with a string - // of your choice. - // - // If you aren't planning to migrate existing users from an existing SFTP-enabled - // server to a new server, don't update the host key. Accidentally changing - // a server's host key can be disruptive. - // - // For more information, see Change the host key for your SFTP-enabled server - // (https://docs.aws.amazon.com/transfer/latest/userguide/edit-server-config.html#configuring-servers-change-host-key) - // in the Amazon Web Services Transfer Family User Guide. - // - // HostKey is a sensitive parameter and its value will be - // replaced with "sensitive" in string returned by CreateServerInput's - // String and GoString methods. - HostKey *string `type:"string" sensitive:"true"` - - // Required when IdentityProviderType is set to AWS_DIRECTORY_SERVICE or API_GATEWAY. - // Accepts an array containing all of the information required to use a directory - // in AWS_DIRECTORY_SERVICE or invoke a customer-supplied authentication API, - // including the API Gateway URL. Not required when IdentityProviderType is - // set to SERVICE_MANAGED. - IdentityProviderDetails *IdentityProviderDetails `type:"structure"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeServerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeServerInput"} + if s.ServerId == nil { + invalidParams.Add(request.NewErrParamRequired("ServerId")) + } + if s.ServerId != nil && len(*s.ServerId) < 19 { + invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) + } - // Specifies the mode of authentication for a server. The default value is SERVICE_MANAGED, - // which allows you to store and access user credentials within the Amazon Web - // Services Transfer Family service. - // - // Use AWS_DIRECTORY_SERVICE to provide access to Active Directory groups in - // Amazon Web Services Managed Active Directory or Microsoft Active Directory - // in your on-premises environment or in Amazon Web Services using AD Connectors. - // This option also requires you to provide a Directory ID using the IdentityProviderDetails - // parameter. - // - // Use the API_GATEWAY value to integrate with an identity provider of your - // choosing. The API_GATEWAY setting requires you to provide an API Gateway - // endpoint URL to call for authentication using the IdentityProviderDetails - // parameter. - // - // Use the AWS_LAMBDA value to directly use a Lambda function as your identity - // provider. If you choose this value, you must specify the ARN for the lambda - // function in the Function parameter for the IdentityProviderDetails data type. - IdentityProviderType *string `type:"string" enum:"IdentityProviderType"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // Specifies the Amazon Resource Name (ARN) of the Amazon Web Services Identity - // and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch - // logging for Amazon S3 or Amazon EFS events. When set, user activity can be - // viewed in your CloudWatch logs. - LoggingRole *string `min:"20" type:"string"` +// SetServerId sets the ServerId field's value. +func (s *DescribeServerInput) SetServerId(v string) *DescribeServerInput { + s.ServerId = &v + return s +} - // Specify a string to display when users connect to a server. This string is - // displayed after the user authenticates. - // - // The SFTP protocol does not support post-authentication display banners. - PostAuthenticationLoginBanner *string `type:"string"` +type DescribeServerOutput struct { + _ struct{} `type:"structure"` - // Specify a string to display when users connect to a server. This string is - // displayed before the user authenticates. For example, the following banner - // displays details about using the system. + // An array containing the properties of a server with the ServerID you specified. // - // This system is for the use of authorized users only. Individuals using this - // computer system without authority, or in excess of their authority, are subject - // to having all of their activities on this system monitored and recorded by - // system personnel. - PreAuthenticationLoginBanner *string `type:"string"` + // Server is a required field + Server *DescribedServer `type:"structure" required:"true"` +} - // The protocol settings that are configured for your server. - // - // * Use the PassiveIp parameter to indicate passive mode (for FTP and FTPS - // protocols). Enter a single dotted-quad IPv4 address, such as the external - // IP address of a firewall, router, or load balancer. - // - // * Use the SetStatOption to ignore the error that is generated when the - // client attempts to use SETSTAT on a file you are uploading to an S3 bucket. - // Set the value to ENABLE_NO_OP to have the Transfer Family server ignore - // the SETSTAT command, and upload files without needing to make any changes - // to your SFTP client. Note that with SetStatOption set to ENABLE_NO_OP, - // Transfer generates a log entry to CloudWatch Logs, so you can determine - // when the client is making a SETSTAT call. - // - // * Use the TlsSessionResumptionMode parameter to determine whether or not - // your Transfer server resumes recent, negotiated sessions through a unique - // session ID. - ProtocolDetails *ProtocolDetails `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 DescribeServerOutput) String() string { + return awsutil.Prettify(s) +} - // Specifies the file transfer protocol or protocols over which your file transfer - // protocol client can connect to your server's endpoint. The available protocols - // are: - // - // * SFTP (Secure Shell (SSH) File Transfer Protocol): File transfer over - // SSH - // - // * FTPS (File Transfer Protocol Secure): File transfer with TLS encryption - // - // * FTP (File Transfer Protocol): Unencrypted file transfer - // - // If you select FTPS, you must choose a certificate stored in Amazon Web Services - // Certificate Manager (ACM) which is used to identify your server when clients - // connect to it over FTPS. - // - // If Protocol includes either FTP or FTPS, then the EndpointType must be VPC - // and the IdentityProviderType must be AWS_DIRECTORY_SERVICE or API_GATEWAY. - // - // If Protocol includes FTP, then AddressAllocationIds cannot be associated. - // - // If Protocol is set only to SFTP, the EndpointType can be set to PUBLIC and - // the IdentityProviderType can be set to SERVICE_MANAGED. - Protocols []*string `min:"1" type:"list" enum:"Protocol"` +// 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 DescribeServerOutput) GoString() string { + return s.String() +} - // Specifies the name of the security policy that is attached to the server. - SecurityPolicyName *string `type:"string"` +// SetServer sets the Server field's value. +func (s *DescribeServerOutput) SetServer(v *DescribedServer) *DescribeServerOutput { + s.Server = v + return s +} - // Key-value pairs that can be used to group and search for servers. - Tags []*Tag `min:"1" type:"list"` +type DescribeUserInput struct { + _ struct{} `type:"structure"` - // Specifies the workflow ID for the workflow to assign and the execution role - // used for executing the workflow. - WorkflowDetails *WorkflowDetails `type:"structure"` + // A system-assigned unique identifier for a server that has this user assigned. + // + // ServerId is a required field + ServerId *string `min:"19" type:"string" required:"true"` + + // The name of the user assigned to one or more servers. User names are part + // of the sign-in credentials to use the Transfer Family service and perform + // file transfer tasks. + // + // UserName is a required field + UserName *string `min:"3" type:"string" required:"true"` } // String returns the string representation. @@ -4210,7 +9300,7 @@ type CreateServerInput 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 CreateServerInput) String() string { +func (s DescribeUserInput) String() string { return awsutil.Prettify(s) } @@ -4219,46 +9309,24 @@ func (s CreateServerInput) 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 CreateServerInput) GoString() string { +func (s DescribeUserInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateServerInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateServerInput"} - if s.LoggingRole != nil && len(*s.LoggingRole) < 20 { - invalidParams.Add(request.NewErrParamMinLen("LoggingRole", 20)) - } - if s.Protocols != nil && len(s.Protocols) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Protocols", 1)) - } - if s.Tags != nil && len(s.Tags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) - } - if s.EndpointDetails != nil { - if err := s.EndpointDetails.Validate(); err != nil { - invalidParams.AddNested("EndpointDetails", err.(request.ErrInvalidParams)) - } +func (s *DescribeUserInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeUserInput"} + if s.ServerId == nil { + invalidParams.Add(request.NewErrParamRequired("ServerId")) } - if s.IdentityProviderDetails != nil { - if err := s.IdentityProviderDetails.Validate(); err != nil { - invalidParams.AddNested("IdentityProviderDetails", err.(request.ErrInvalidParams)) - } + if s.ServerId != nil && len(*s.ServerId) < 19 { + invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) } - if s.Tags != nil { - for i, v := range s.Tags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) - } - } + if s.UserName == nil { + invalidParams.Add(request.NewErrParamRequired("UserName")) } - if s.WorkflowDetails != nil { - if err := s.WorkflowDetails.Validate(); err != nil { - invalidParams.AddNested("WorkflowDetails", err.(request.ErrInvalidParams)) - } + if s.UserName != nil && len(*s.UserName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("UserName", 3)) } if invalidParams.Len() > 0 { @@ -4267,103 +9335,119 @@ func (s *CreateServerInput) Validate() error { return nil } -// SetCertificate sets the Certificate field's value. -func (s *CreateServerInput) SetCertificate(v string) *CreateServerInput { - s.Certificate = &v +// SetServerId sets the ServerId field's value. +func (s *DescribeUserInput) SetServerId(v string) *DescribeUserInput { + s.ServerId = &v return s } -// SetDomain sets the Domain field's value. -func (s *CreateServerInput) SetDomain(v string) *CreateServerInput { - s.Domain = &v +// SetUserName sets the UserName field's value. +func (s *DescribeUserInput) SetUserName(v string) *DescribeUserInput { + s.UserName = &v return s } -// SetEndpointDetails sets the EndpointDetails field's value. -func (s *CreateServerInput) SetEndpointDetails(v *EndpointDetails) *CreateServerInput { - s.EndpointDetails = v - return s -} +type DescribeUserOutput struct { + _ struct{} `type:"structure"` -// SetEndpointType sets the EndpointType field's value. -func (s *CreateServerInput) SetEndpointType(v string) *CreateServerInput { - s.EndpointType = &v - return s -} + // A system-assigned unique identifier for a server that has this user assigned. + // + // ServerId is a required field + ServerId *string `min:"19" type:"string" required:"true"` -// SetHostKey sets the HostKey field's value. -func (s *CreateServerInput) SetHostKey(v string) *CreateServerInput { - s.HostKey = &v - return s + // An array containing the properties of the user account for the ServerID value + // that you specified. + // + // User is a required field + User *DescribedUser `type:"structure" required:"true"` } -// SetIdentityProviderDetails sets the IdentityProviderDetails field's value. -func (s *CreateServerInput) SetIdentityProviderDetails(v *IdentityProviderDetails) *CreateServerInput { - s.IdentityProviderDetails = 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 DescribeUserOutput) String() string { + return awsutil.Prettify(s) } -// SetIdentityProviderType sets the IdentityProviderType field's value. -func (s *CreateServerInput) SetIdentityProviderType(v string) *CreateServerInput { - s.IdentityProviderType = &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 DescribeUserOutput) GoString() string { + return s.String() } -// SetLoggingRole sets the LoggingRole field's value. -func (s *CreateServerInput) SetLoggingRole(v string) *CreateServerInput { - s.LoggingRole = &v +// SetServerId sets the ServerId field's value. +func (s *DescribeUserOutput) SetServerId(v string) *DescribeUserOutput { + s.ServerId = &v return s } -// SetPostAuthenticationLoginBanner sets the PostAuthenticationLoginBanner field's value. -func (s *CreateServerInput) SetPostAuthenticationLoginBanner(v string) *CreateServerInput { - s.PostAuthenticationLoginBanner = &v +// SetUser sets the User field's value. +func (s *DescribeUserOutput) SetUser(v *DescribedUser) *DescribeUserOutput { + s.User = v return s } -// SetPreAuthenticationLoginBanner sets the PreAuthenticationLoginBanner field's value. -func (s *CreateServerInput) SetPreAuthenticationLoginBanner(v string) *CreateServerInput { - s.PreAuthenticationLoginBanner = &v - return s -} +type DescribeWorkflowInput struct { + _ struct{} `type:"structure"` -// SetProtocolDetails sets the ProtocolDetails field's value. -func (s *CreateServerInput) SetProtocolDetails(v *ProtocolDetails) *CreateServerInput { - s.ProtocolDetails = v - return s + // A unique identifier for the workflow. + // + // WorkflowId is a required field + WorkflowId *string `min:"19" type:"string" required:"true"` } -// SetProtocols sets the Protocols field's value. -func (s *CreateServerInput) SetProtocols(v []*string) *CreateServerInput { - s.Protocols = 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 DescribeWorkflowInput) String() string { + return awsutil.Prettify(s) } -// SetSecurityPolicyName sets the SecurityPolicyName field's value. -func (s *CreateServerInput) SetSecurityPolicyName(v string) *CreateServerInput { - s.SecurityPolicyName = &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 DescribeWorkflowInput) GoString() string { + return s.String() } -// SetTags sets the Tags field's value. -func (s *CreateServerInput) SetTags(v []*Tag) *CreateServerInput { - s.Tags = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeWorkflowInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeWorkflowInput"} + if s.WorkflowId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkflowId")) + } + if s.WorkflowId != nil && len(*s.WorkflowId) < 19 { + invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 19)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetWorkflowDetails sets the WorkflowDetails field's value. -func (s *CreateServerInput) SetWorkflowDetails(v *WorkflowDetails) *CreateServerInput { - s.WorkflowDetails = v +// SetWorkflowId sets the WorkflowId field's value. +func (s *DescribeWorkflowInput) SetWorkflowId(v string) *DescribeWorkflowInput { + s.WorkflowId = &v return s } -type CreateServerOutput struct { +type DescribeWorkflowOutput struct { _ struct{} `type:"structure"` - // The service-assigned ID of the server that is created. + // The structure that contains the details of the workflow. // - // ServerId is a required field - ServerId *string `min:"19" type:"string" required:"true"` + // Workflow is a required field + Workflow *DescribedWorkflow `type:"structure" required:"true"` } // String returns the string representation. @@ -4371,7 +9455,7 @@ type CreateServerOutput 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 CreateServerOutput) String() string { +func (s DescribeWorkflowOutput) String() string { return awsutil.Prettify(s) } @@ -4380,19 +9464,37 @@ func (s CreateServerOutput) 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 CreateServerOutput) GoString() string { +func (s DescribeWorkflowOutput) GoString() string { return s.String() } -// SetServerId sets the ServerId field's value. -func (s *CreateServerOutput) SetServerId(v string) *CreateServerOutput { - s.ServerId = &v +// SetWorkflow sets the Workflow field's value. +func (s *DescribeWorkflowOutput) SetWorkflow(v *DescribedWorkflow) *DescribeWorkflowOutput { + s.Workflow = v return s } -type CreateUserInput struct { +// Describes the properties of the access that was specified. +type DescribedAccess struct { _ struct{} `type:"structure"` + // A unique identifier that is required to identify specific groups within your + // directory. The users of the group that you associate have access to your + // Amazon S3 or Amazon EFS resources over the enabled protocols using Transfer + // Family. If you know the group name, you can view the SID values by running + // the following command using Windows PowerShell. + // + // Get-ADGroup -Filter {samAccountName -like "YourGroupName*"} -Properties * + // | Select SamAccountName,ObjectSid + // + // In that command, replace YourGroupName with the name of your Active Directory + // group. + // + // The regular expression used to validate this parameter is a string of characters + // consisting of uppercase and lowercase alphanumeric characters with no spaces. + // You can also include underscores or any of the following characters: =,.@:/- + ExternalId *string `min:"1" type:"string"` + // The landing directory (folder) for a user when they log in to the server // using the client. // @@ -4404,90 +9506,45 @@ type CreateUserInput struct { // You must specify the Entry and Target pair, where Entry shows how the path // is made visible and Target is the actual Amazon S3 or Amazon EFS path. If // you only specify a target, it is displayed as is. You also must ensure that - // your Amazon Web Services Identity and Access Management (IAM) role provides - // access to paths in Target. This value can only be set when HomeDirectoryType - // is set to LOGICAL. - // - // The following is an Entry and Target pair example. - // - // [ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ] + // your Identity and Access Management (IAM) role provides access to paths in + // Target. This value can be set only when HomeDirectoryType is set to LOGICAL. // // In most cases, you can use this value instead of the session policy to lock - // your user down to the designated home directory ("chroot"). To do this, you - // can set Entry to / and set Target to the HomeDirectory parameter value. - // - // The following is an Entry and Target pair example for chroot. - // - // [ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ] + // down the associated access to the designated home directory ("chroot"). To + // do this, you can set Entry to '/' and set Target to the HomeDirectory parameter + // value. HomeDirectoryMappings []*HomeDirectoryMapEntry `min:"1" type:"list"` - // The type of landing directory (folder) you want your users' home directory - // to be when they log into the server. If you set it to PATH, the user will + // The type of landing directory (folder) that you want your users' home directory + // to be when they log in to the server. If you set it to PATH, the user will // see the absolute Amazon S3 bucket or EFS paths as is in their file transfer // protocol clients. If you set it LOGICAL, you need to provide mappings in - // the HomeDirectoryMappings for how you want to make Amazon S3 or EFS paths - // visible to your users. + // the HomeDirectoryMappings for how you want to make Amazon S3 or Amazon EFS + // paths visible to your users. HomeDirectoryType *string `type:"string" enum:"HomeDirectoryType"` - // A session policy for your user so that you can use the same IAM role across - // multiple users. This policy scopes down user access to portions of their - // Amazon S3 bucket. Variables that you can use inside this policy include ${Transfer:UserName}, - // ${Transfer:HomeDirectory}, and ${Transfer:HomeBucket}. - // - // This only applies when the domain of ServerId is S3. EFS does not use session - // policies. - // - // For session policies, Amazon Web Services Transfer Family stores the policy - // as a JSON blob, instead of the Amazon Resource Name (ARN) of the policy. - // You save the policy as a JSON blob and pass it in the Policy argument. - // - // For an example of a session policy, see Example session policy (https://docs.aws.amazon.com/transfer/latest/userguide/session-policy.html). - // - // For more information, see AssumeRole (https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) - // in the Amazon Web Services Security Token Service API Reference. + // A session policy for your user so that you can use the same Identity and + // Access Management (IAM) role across multiple users. This policy scopes down + // a user's access to portions of their Amazon S3 bucket. Variables that you + // can use inside this policy include ${Transfer:UserName}, ${Transfer:HomeDirectory}, + // and ${Transfer:HomeBucket}. Policy *string `type:"string"` - // Specifies the full POSIX identity, including user ID (Uid), group ID (Gid), - // and any secondary groups IDs (SecondaryGids), that controls your users' access - // to your Amazon EFS file systems. The POSIX permissions that are set on files - // and directories in Amazon EFS determine the level of access your users get - // when transferring files into and out of your Amazon EFS file systems. + // The full POSIX identity, including user ID (Uid), group ID (Gid), and any + // secondary groups IDs (SecondaryGids), that controls your users' access to + // your Amazon EFS file systems. The POSIX permissions that are set on files + // and directories in your file system determine the level of access your users + // get when transferring files into and out of your Amazon EFS file systems. PosixProfile *PosixProfile `type:"structure"` - // Specifies the Amazon Resource Name (ARN) of the IAM role that controls your - // users' access to your Amazon S3 bucket or EFS file system. The policies attached - // to this role determine the level of access that you want to provide your - // users when transferring files into and out of your Amazon S3 bucket or EFS - // file system. The IAM role should also contain a trust relationship that allows - // the server to access your resources when servicing your users' transfer requests. - // - // Role is a required field - Role *string `min:"20" type:"string" required:"true"` - - // A system-assigned unique identifier for a server instance. This is the specific - // server that you added your user to. - // - // ServerId is a required field - ServerId *string `min:"19" type:"string" required:"true"` - - // The public portion of the Secure Shell (SSH) key used to authenticate the - // user to the server. - // - // Transfer Family accepts RSA, ECDSA, and ED25519 keys. - SshPublicKeyBody *string `type:"string"` - - // Key-value pairs that can be used to group and search for users. Tags are - // metadata attached to users for any purpose. - Tags []*Tag `min:"1" type:"list"` - - // A unique string that identifies a user and is associated with a ServerId. - // This user name must be a minimum of 3 and a maximum of 100 characters long. - // The following are valid characters: a-z, A-Z, 0-9, underscore '_', hyphen - // '-', period '.', and at sign '@'. The user name can't start with a hyphen, - // period, or at sign. - // - // UserName is a required field - UserName *string `min:"3" type:"string" required:"true"` + // The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) + // role that controls your users' access to your Amazon S3 bucket or Amazon + // EFS file system. The policies attached to this role determine the level of + // access that you want to provide your users when transferring files into and + // out of your Amazon S3 bucket or Amazon EFS file system. The IAM role should + // also contain a trust relationship that allows the server to access your resources + // when servicing your users' transfer requests. + Role *string `min:"20" type:"string"` } // String returns the string representation. @@ -4495,7 +9552,7 @@ type CreateUserInput 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 CreateUserInput) String() string { +func (s DescribedAccess) String() string { return awsutil.Prettify(s) } @@ -4504,210 +9561,91 @@ func (s CreateUserInput) 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 CreateUserInput) GoString() string { +func (s DescribedAccess) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateUserInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateUserInput"} - if s.HomeDirectoryMappings != nil && len(s.HomeDirectoryMappings) < 1 { - invalidParams.Add(request.NewErrParamMinLen("HomeDirectoryMappings", 1)) - } - if s.Role == nil { - invalidParams.Add(request.NewErrParamRequired("Role")) - } - if s.Role != nil && len(*s.Role) < 20 { - invalidParams.Add(request.NewErrParamMinLen("Role", 20)) - } - if s.ServerId == nil { - invalidParams.Add(request.NewErrParamRequired("ServerId")) - } - if s.ServerId != nil && len(*s.ServerId) < 19 { - invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) - } - 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) < 3 { - invalidParams.Add(request.NewErrParamMinLen("UserName", 3)) - } - if s.HomeDirectoryMappings != nil { - for i, v := range s.HomeDirectoryMappings { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "HomeDirectoryMappings", i), err.(request.ErrInvalidParams)) - } - } - } - if s.PosixProfile != nil { - if err := s.PosixProfile.Validate(); err != nil { - invalidParams.AddNested("PosixProfile", err.(request.ErrInvalidParams)) - } - } - if s.Tags != nil { - for i, v := range s.Tags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetExternalId sets the ExternalId field's value. +func (s *DescribedAccess) SetExternalId(v string) *DescribedAccess { + s.ExternalId = &v + return s } // SetHomeDirectory sets the HomeDirectory field's value. -func (s *CreateUserInput) SetHomeDirectory(v string) *CreateUserInput { +func (s *DescribedAccess) SetHomeDirectory(v string) *DescribedAccess { s.HomeDirectory = &v return s } // SetHomeDirectoryMappings sets the HomeDirectoryMappings field's value. -func (s *CreateUserInput) SetHomeDirectoryMappings(v []*HomeDirectoryMapEntry) *CreateUserInput { +func (s *DescribedAccess) SetHomeDirectoryMappings(v []*HomeDirectoryMapEntry) *DescribedAccess { s.HomeDirectoryMappings = v return s } // SetHomeDirectoryType sets the HomeDirectoryType field's value. -func (s *CreateUserInput) SetHomeDirectoryType(v string) *CreateUserInput { +func (s *DescribedAccess) SetHomeDirectoryType(v string) *DescribedAccess { s.HomeDirectoryType = &v return s } // SetPolicy sets the Policy field's value. -func (s *CreateUserInput) SetPolicy(v string) *CreateUserInput { +func (s *DescribedAccess) SetPolicy(v string) *DescribedAccess { s.Policy = &v return s } // SetPosixProfile sets the PosixProfile field's value. -func (s *CreateUserInput) SetPosixProfile(v *PosixProfile) *CreateUserInput { +func (s *DescribedAccess) SetPosixProfile(v *PosixProfile) *DescribedAccess { s.PosixProfile = v return s } // SetRole sets the Role field's value. -func (s *CreateUserInput) SetRole(v string) *CreateUserInput { +func (s *DescribedAccess) SetRole(v string) *DescribedAccess { s.Role = &v return s } -// SetServerId sets the ServerId field's value. -func (s *CreateUserInput) SetServerId(v string) *CreateUserInput { - s.ServerId = &v - return s -} - -// SetSshPublicKeyBody sets the SshPublicKeyBody field's value. -func (s *CreateUserInput) SetSshPublicKeyBody(v string) *CreateUserInput { - s.SshPublicKeyBody = &v - return s -} - -// SetTags sets the Tags field's value. -func (s *CreateUserInput) SetTags(v []*Tag) *CreateUserInput { - s.Tags = v - return s -} - -// SetUserName sets the UserName field's value. -func (s *CreateUserInput) SetUserName(v string) *CreateUserInput { - s.UserName = &v - return s -} - -type CreateUserOutput struct { +// Describes the properties of an agreement. +type DescribedAgreement struct { _ struct{} `type:"structure"` - // The ID of the server that the user is attached to. - // - // ServerId is a required field - ServerId *string `min:"19" type:"string" required:"true"` - - // A unique string that identifies a user account associated with a server. - // - // UserName is a required field - UserName *string `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 CreateUserOutput) 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 CreateUserOutput) GoString() string { - return s.String() -} + // The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) + // role that grants access to at least the HomeDirectory of your users' Amazon + // S3 buckets. + AccessRole *string `min:"20" type:"string"` -// SetServerId sets the ServerId field's value. -func (s *CreateUserOutput) SetServerId(v string) *CreateUserOutput { - s.ServerId = &v - return s -} + // A unique identifier for the agreement. This identifier is returned when you + // create an agreement. + AgreementId *string `min:"19" type:"string"` -// SetUserName sets the UserName field's value. -func (s *CreateUserOutput) SetUserName(v string) *CreateUserOutput { - s.UserName = &v - return s -} + // The unique Amazon Resource Name (ARN) for the agreement. + // + // Arn is a required field + Arn *string `min:"20" type:"string" required:"true"` -type CreateWorkflowInput struct { - _ struct{} `type:"structure"` + // The landing directory (folder) for files that are transferred by using the + // AS2 protocol. + BaseDirectory *string `type:"string"` - // A textual description for the workflow. - Description *string `type:"string"` + // The name or short description that's used to identify the agreement. + Description *string `min:"1" type:"string"` - // Specifies the steps (actions) to take if errors are encountered during execution - // of the workflow. - // - // For custom steps, the lambda function needs to send FAILURE to the call back - // API to kick off the exception steps. Additionally, if the lambda does not - // send SUCCESS before it times out, the exception steps are executed. - OnExceptionSteps []*WorkflowStep `type:"list"` + // A unique identifier for the AS2 process. + LocalProfileId *string `min:"19" type:"string"` - // Specifies the details for the steps that are in the specified workflow. - // - // The TYPE specifies which of the following actions is being taken for this - // step. - // - // * COPY: copy the file to another location - // - // * CUSTOM: custom step with a lambda target - // - // * DELETE: delete the file - // - // * TAG: add a tag to the file - // - // Currently, copying and tagging are supported only on S3. - // - // For file location, you specify either the S3 bucket and key, or the EFS filesystem - // ID and path. - // - // Steps is a required field - Steps []*WorkflowStep `type:"list" required:"true"` + // A unique identifier for the partner in the agreement. + PartnerProfileId *string `min:"19" type:"string"` - // Key-value pairs that can be used to group and search for workflows. Tags - // are metadata attached to workflows for any purpose. + // A system-assigned unique identifier for a server instance. This identifier + // indicates the specific server that the agreement uses. + ServerId *string `min:"19" type:"string"` + + // The current status of the agreement, either ACTIVE or INACTIVE. + Status *string `type:"string" enum:"AgreementStatusType"` + + // Key-value pairs that can be used to group and search for agreements. Tags []*Tag `min:"1" type:"list"` } @@ -4716,7 +9654,7 @@ type CreateWorkflowInput 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 CreateWorkflowInput) String() string { +func (s DescribedAgreement) String() string { return awsutil.Prettify(s) } @@ -4725,136 +9663,129 @@ func (s CreateWorkflowInput) 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 CreateWorkflowInput) GoString() string { +func (s DescribedAgreement) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateWorkflowInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateWorkflowInput"} - if s.Steps == nil { - invalidParams.Add(request.NewErrParamRequired("Steps")) - } - if s.Tags != nil && len(s.Tags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) - } - if s.OnExceptionSteps != nil { - for i, v := range s.OnExceptionSteps { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OnExceptionSteps", i), err.(request.ErrInvalidParams)) - } - } - } - if s.Steps != nil { - for i, v := range s.Steps { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Steps", i), err.(request.ErrInvalidParams)) - } - } - } - if s.Tags != nil { - for i, v := range s.Tags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetAccessRole sets the AccessRole field's value. +func (s *DescribedAgreement) SetAccessRole(v string) *DescribedAgreement { + s.AccessRole = &v + return s } -// SetDescription sets the Description field's value. -func (s *CreateWorkflowInput) SetDescription(v string) *CreateWorkflowInput { - s.Description = &v +// SetAgreementId sets the AgreementId field's value. +func (s *DescribedAgreement) SetAgreementId(v string) *DescribedAgreement { + s.AgreementId = &v return s } -// SetOnExceptionSteps sets the OnExceptionSteps field's value. -func (s *CreateWorkflowInput) SetOnExceptionSteps(v []*WorkflowStep) *CreateWorkflowInput { - s.OnExceptionSteps = v +// SetArn sets the Arn field's value. +func (s *DescribedAgreement) SetArn(v string) *DescribedAgreement { + s.Arn = &v return s } -// SetSteps sets the Steps field's value. -func (s *CreateWorkflowInput) SetSteps(v []*WorkflowStep) *CreateWorkflowInput { - s.Steps = v +// SetBaseDirectory sets the BaseDirectory field's value. +func (s *DescribedAgreement) SetBaseDirectory(v string) *DescribedAgreement { + s.BaseDirectory = &v return s } -// SetTags sets the Tags field's value. -func (s *CreateWorkflowInput) SetTags(v []*Tag) *CreateWorkflowInput { - s.Tags = v +// SetDescription sets the Description field's value. +func (s *DescribedAgreement) SetDescription(v string) *DescribedAgreement { + s.Description = &v return s } -type CreateWorkflowOutput struct { - _ struct{} `type:"structure"` +// SetLocalProfileId sets the LocalProfileId field's value. +func (s *DescribedAgreement) SetLocalProfileId(v string) *DescribedAgreement { + s.LocalProfileId = &v + return s +} - // A unique identifier for the workflow. - // - // WorkflowId is a required field - WorkflowId *string `min:"19" type:"string" required:"true"` +// SetPartnerProfileId sets the PartnerProfileId field's value. +func (s *DescribedAgreement) SetPartnerProfileId(v string) *DescribedAgreement { + s.PartnerProfileId = &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 CreateWorkflowOutput) String() string { - return awsutil.Prettify(s) +// SetServerId sets the ServerId field's value. +func (s *DescribedAgreement) SetServerId(v string) *DescribedAgreement { + s.ServerId = &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 CreateWorkflowOutput) GoString() string { - return s.String() +// SetStatus sets the Status field's value. +func (s *DescribedAgreement) SetStatus(v string) *DescribedAgreement { + s.Status = &v + return s } -// SetWorkflowId sets the WorkflowId field's value. -func (s *CreateWorkflowOutput) SetWorkflowId(v string) *CreateWorkflowOutput { - s.WorkflowId = &v +// SetTags sets the Tags field's value. +func (s *DescribedAgreement) SetTags(v []*Tag) *DescribedAgreement { + s.Tags = v return s } -// Each step type has its own StepDetails structure. -type CustomStepDetails struct { +// Describes the properties of a certificate. +type DescribedCertificate struct { _ struct{} `type:"structure"` - // The name of the step, used as an identifier. - Name *string `type:"string"` + // An optional date that specifies when the certificate becomes active. + ActiveDate *time.Time `type:"timestamp"` - // Specifies which file to use as input to the workflow step: either the output - // from the previous step, or the originally uploaded file for the workflow. + // The unique Amazon Resource Name (ARN) for the certificate. // - // * Enter ${previous.file} to use the previous file as the input. In this - // case, this workflow step uses the output file from the previous workflow - // step as input. This is the default value. + // Arn is a required field + Arn *string `min:"20" type:"string" required:"true"` + + // The file name for the certificate. // - // * Enter ${original.file} to use the originally-uploaded file location - // as input for this step. - SourceFileLocation *string `type:"string"` + // Certificate is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by DescribedCertificate's + // String and GoString methods. + Certificate *string `min:"1" type:"string" sensitive:"true"` - // The ARN for the lambda function that is being called. - Target *string `type:"string"` + // The list of certificates that make up the chain for the certificate. + // + // CertificateChain is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by DescribedCertificate's + // String and GoString methods. + CertificateChain *string `min:"1" type:"string" sensitive:"true"` - // Timeout, in seconds, for the step. - TimeoutSeconds *int64 `min:"1" type:"integer"` + // An array of identifiers for the imported certificates. You use this identifier + // for working with profiles and partner profiles. + CertificateId *string `min:"22" type:"string"` + + // The name or description that's used to identity the certificate. + Description *string `min:"1" type:"string"` + + // An optional date that specifies when the certificate becomes inactive. + InactiveDate *time.Time `type:"timestamp"` + + // The final date that the certificate is valid. + NotAfterDate *time.Time `type:"timestamp"` + + // The earliest date that the certificate is valid. + NotBeforeDate *time.Time `type:"timestamp"` + + // The serial number for the certificate. + Serial *string `type:"string"` + + // The certificate can be either ACTIVE, PENDING_ROTATION, or INACTIVE. PENDING_ROTATION + // means that this certificate will replace the current certificate when it + // expires. + Status *string `type:"string" enum:"CertificateStatusType"` + + // Key-value pairs that can be used to group and search for certificates. + Tags []*Tag `min:"1" type:"list"` + + // If a private key has been specified for the certificate, its type is CERTIFICATE_WITH_PRIVATE_KEY. + // If there is no private key, the type is CERTIFICATE. + Type *string `type:"string" enum:"CertificateType"` + + // Specifies whether this certificate is used for signing or encryption. + Usage *string `type:"string" enum:"CertificateUsageType"` } // String returns the string representation. @@ -4862,7 +9793,7 @@ type CustomStepDetails 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 CustomStepDetails) String() string { +func (s DescribedCertificate) String() string { return awsutil.Prettify(s) } @@ -4871,129 +9802,131 @@ func (s CustomStepDetails) 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 CustomStepDetails) GoString() string { +func (s DescribedCertificate) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CustomStepDetails) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CustomStepDetails"} - if s.TimeoutSeconds != nil && *s.TimeoutSeconds < 1 { - invalidParams.Add(request.NewErrParamMinValue("TimeoutSeconds", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetActiveDate sets the ActiveDate field's value. +func (s *DescribedCertificate) SetActiveDate(v time.Time) *DescribedCertificate { + s.ActiveDate = &v + return s } -// SetName sets the Name field's value. -func (s *CustomStepDetails) SetName(v string) *CustomStepDetails { - s.Name = &v +// SetArn sets the Arn field's value. +func (s *DescribedCertificate) SetArn(v string) *DescribedCertificate { + s.Arn = &v return s } -// SetSourceFileLocation sets the SourceFileLocation field's value. -func (s *CustomStepDetails) SetSourceFileLocation(v string) *CustomStepDetails { - s.SourceFileLocation = &v +// SetCertificate sets the Certificate field's value. +func (s *DescribedCertificate) SetCertificate(v string) *DescribedCertificate { + s.Certificate = &v return s } -// SetTarget sets the Target field's value. -func (s *CustomStepDetails) SetTarget(v string) *CustomStepDetails { - s.Target = &v +// SetCertificateChain sets the CertificateChain field's value. +func (s *DescribedCertificate) SetCertificateChain(v string) *DescribedCertificate { + s.CertificateChain = &v return s } -// SetTimeoutSeconds sets the TimeoutSeconds field's value. -func (s *CustomStepDetails) SetTimeoutSeconds(v int64) *CustomStepDetails { - s.TimeoutSeconds = &v +// SetCertificateId sets the CertificateId field's value. +func (s *DescribedCertificate) SetCertificateId(v string) *DescribedCertificate { + s.CertificateId = &v return s } -type DeleteAccessInput struct { - _ struct{} `type:"structure"` +// SetDescription sets the Description field's value. +func (s *DescribedCertificate) SetDescription(v string) *DescribedCertificate { + s.Description = &v + return s +} - // A unique identifier that is required to identify specific groups within your - // directory. The users of the group that you associate have access to your - // Amazon S3 or Amazon EFS resources over the enabled protocols using Amazon - // Web Services Transfer Family. If you know the group name, you can view the - // SID values by running the following command using Windows PowerShell. - // - // Get-ADGroup -Filter {samAccountName -like "YourGroupName*"} -Properties * - // | Select SamAccountName,ObjectSid - // - // In that command, replace YourGroupName with the name of your Active Directory - // group. - // - // The regex used to validate this parameter is a string of characters consisting - // of uppercase and lowercase alphanumeric characters with no spaces. You can - // also include underscores or any of the following characters: =,.@:/- - // - // ExternalId is a required field - ExternalId *string `min:"1" type:"string" required:"true"` +// SetInactiveDate sets the InactiveDate field's value. +func (s *DescribedCertificate) SetInactiveDate(v time.Time) *DescribedCertificate { + s.InactiveDate = &v + return s +} - // A system-assigned unique identifier for a server that has this user assigned. - // - // ServerId is a required field - ServerId *string `min:"19" type:"string" required:"true"` +// SetNotAfterDate sets the NotAfterDate field's value. +func (s *DescribedCertificate) SetNotAfterDate(v time.Time) *DescribedCertificate { + s.NotAfterDate = &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 DeleteAccessInput) String() string { - return awsutil.Prettify(s) +// SetNotBeforeDate sets the NotBeforeDate field's value. +func (s *DescribedCertificate) SetNotBeforeDate(v time.Time) *DescribedCertificate { + s.NotBeforeDate = &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 DeleteAccessInput) GoString() string { - return s.String() +// SetSerial sets the Serial field's value. +func (s *DescribedCertificate) SetSerial(v string) *DescribedCertificate { + s.Serial = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteAccessInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteAccessInput"} - if s.ExternalId == nil { - invalidParams.Add(request.NewErrParamRequired("ExternalId")) - } - if s.ExternalId != nil && len(*s.ExternalId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ExternalId", 1)) - } - if s.ServerId == nil { - invalidParams.Add(request.NewErrParamRequired("ServerId")) - } - if s.ServerId != nil && len(*s.ServerId) < 19 { - invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) - } +// SetStatus sets the Status field's value. +func (s *DescribedCertificate) SetStatus(v string) *DescribedCertificate { + s.Status = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetTags sets the Tags field's value. +func (s *DescribedCertificate) SetTags(v []*Tag) *DescribedCertificate { + s.Tags = v + return s } -// SetExternalId sets the ExternalId field's value. -func (s *DeleteAccessInput) SetExternalId(v string) *DeleteAccessInput { - s.ExternalId = &v +// SetType sets the Type field's value. +func (s *DescribedCertificate) SetType(v string) *DescribedCertificate { + s.Type = &v return s } -// SetServerId sets the ServerId field's value. -func (s *DeleteAccessInput) SetServerId(v string) *DeleteAccessInput { - s.ServerId = &v +// SetUsage sets the Usage field's value. +func (s *DescribedCertificate) SetUsage(v string) *DescribedCertificate { + s.Usage = &v return s } -type DeleteAccessOutput struct { +// Describes the parameters for the connector, as identified by the ConnectorId. +type DescribedConnector struct { _ struct{} `type:"structure"` + + // With AS2, you can send files by calling StartFileTransfer and specifying + // the file paths in the request parameter, SendFilePaths. We use the file’s + // parent directory (for example, for --send-file-paths /bucket/dir/file.txt, + // parent directory is /bucket/dir/) to temporarily store a processed AS2 message + // file, store the MDN when we receive them from the partner, and write a final + // JSON file containing relevant metadata of the transmission. So, the AccessRole + // needs to provide read and write access to the parent directory of the file + // location used in the StartFileTransfer request. Additionally, you need to + // provide read and write access to the parent directory of the files that you + // intend to send with StartFileTransfer. + AccessRole *string `min:"20" type:"string"` + + // The unique Amazon Resource Name (ARN) for the connector. + // + // Arn is a required field + Arn *string `min:"20" type:"string" required:"true"` + + // A structure that contains the parameters for a connector object. + As2Config *As2ConnectorConfig `type:"structure"` + + // The unique identifier for the connector. + ConnectorId *string `min:"19" type:"string"` + + // The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) + // role that allows a connector to turn on CloudWatch logging for Amazon S3 + // events. When set, you can view connector activity in your CloudWatch logs. + LoggingRole *string `min:"20" type:"string"` + + // Key-value pairs that can be used to group and search for connectors. + Tags []*Tag `min:"1" type:"list"` + + // The URL of the partner's AS2 endpoint. + Url *string `type:"string"` } // String returns the string representation. @@ -5001,7 +9934,7 @@ type DeleteAccessOutput 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 DeleteAccessOutput) String() string { +func (s DescribedConnector) String() string { return awsutil.Prettify(s) } @@ -5010,61 +9943,88 @@ func (s DeleteAccessOutput) 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 DeleteAccessOutput) GoString() string { +func (s DescribedConnector) GoString() string { return s.String() } -type DeleteServerInput struct { - _ struct{} `type:"structure"` +// SetAccessRole sets the AccessRole field's value. +func (s *DescribedConnector) SetAccessRole(v string) *DescribedConnector { + s.AccessRole = &v + return s +} - // A unique system-assigned identifier for a server instance. - // - // ServerId is a required field - ServerId *string `min:"19" type:"string" required:"true"` +// SetArn sets the Arn field's value. +func (s *DescribedConnector) SetArn(v string) *DescribedConnector { + s.Arn = &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 DeleteServerInput) String() string { - return awsutil.Prettify(s) +// SetAs2Config sets the As2Config field's value. +func (s *DescribedConnector) SetAs2Config(v *As2ConnectorConfig) *DescribedConnector { + s.As2Config = 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 DeleteServerInput) GoString() string { - return s.String() +// SetConnectorId sets the ConnectorId field's value. +func (s *DescribedConnector) SetConnectorId(v string) *DescribedConnector { + s.ConnectorId = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteServerInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteServerInput"} - if s.ServerId == nil { - invalidParams.Add(request.NewErrParamRequired("ServerId")) - } - if s.ServerId != nil && len(*s.ServerId) < 19 { - invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) - } +// SetLoggingRole sets the LoggingRole field's value. +func (s *DescribedConnector) SetLoggingRole(v string) *DescribedConnector { + s.LoggingRole = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetTags sets the Tags field's value. +func (s *DescribedConnector) SetTags(v []*Tag) *DescribedConnector { + s.Tags = v + return s } -// SetServerId sets the ServerId field's value. -func (s *DeleteServerInput) SetServerId(v string) *DeleteServerInput { - s.ServerId = &v +// SetUrl sets the Url field's value. +func (s *DescribedConnector) SetUrl(v string) *DescribedConnector { + s.Url = &v return s } -type DeleteServerOutput struct { +// The details for an execution object. +type DescribedExecution struct { _ struct{} `type:"structure"` + + // A unique identifier for the execution of a workflow. + ExecutionId *string `min:"36" type:"string"` + + // The IAM role associated with the execution. + ExecutionRole *string `min:"20" type:"string"` + + // A structure that describes the Amazon S3 or EFS file location. This is the + // file location when the execution begins: if the file is being copied, this + // is the initial (as opposed to destination) file location. + InitialFileLocation *FileLocation `type:"structure"` + + // The IAM logging role associated with the execution. + LoggingConfiguration *LoggingConfiguration `type:"structure"` + + // The full POSIX identity, including user ID (Uid), group ID (Gid), and any + // secondary groups IDs (SecondaryGids), that controls your users' access to + // your Amazon EFS file systems. The POSIX permissions that are set on files + // and directories in your file system determine the level of access your users + // get when transferring files into and out of your Amazon EFS file systems. + PosixProfile *PosixProfile `type:"structure"` + + // A structure that describes the execution results. This includes a list of + // the steps along with the details of each step, error type and message (if + // any), and the OnExceptionSteps structure. + Results *ExecutionResults `type:"structure"` + + // A container object for the session details that are associated with a workflow. + ServiceMetadata *ServiceMetadata `type:"structure"` + + // The status is one of the execution. Can be in progress, completed, exception + // encountered, or handling the exception. + Status *string `type:"string" enum:"ExecutionStatus"` } // String returns the string representation. @@ -5072,7 +10032,7 @@ type DeleteServerOutput 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 DeleteServerOutput) String() string { +func (s DescribedExecution) String() string { return awsutil.Prettify(s) } @@ -5081,28 +10041,83 @@ func (s DeleteServerOutput) 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 DeleteServerOutput) GoString() string { +func (s DescribedExecution) GoString() string { return s.String() } -type DeleteSshPublicKeyInput struct { +// SetExecutionId sets the ExecutionId field's value. +func (s *DescribedExecution) SetExecutionId(v string) *DescribedExecution { + s.ExecutionId = &v + return s +} + +// SetExecutionRole sets the ExecutionRole field's value. +func (s *DescribedExecution) SetExecutionRole(v string) *DescribedExecution { + s.ExecutionRole = &v + return s +} + +// SetInitialFileLocation sets the InitialFileLocation field's value. +func (s *DescribedExecution) SetInitialFileLocation(v *FileLocation) *DescribedExecution { + s.InitialFileLocation = v + return s +} + +// SetLoggingConfiguration sets the LoggingConfiguration field's value. +func (s *DescribedExecution) SetLoggingConfiguration(v *LoggingConfiguration) *DescribedExecution { + s.LoggingConfiguration = v + return s +} + +// SetPosixProfile sets the PosixProfile field's value. +func (s *DescribedExecution) SetPosixProfile(v *PosixProfile) *DescribedExecution { + s.PosixProfile = v + return s +} + +// SetResults sets the Results field's value. +func (s *DescribedExecution) SetResults(v *ExecutionResults) *DescribedExecution { + s.Results = v + return s +} + +// SetServiceMetadata sets the ServiceMetadata field's value. +func (s *DescribedExecution) SetServiceMetadata(v *ServiceMetadata) *DescribedExecution { + s.ServiceMetadata = v + return s +} + +// SetStatus sets the Status field's value. +func (s *DescribedExecution) SetStatus(v string) *DescribedExecution { + s.Status = &v + return s +} + +// The details for a local or partner AS2 profile. profile. +type DescribedProfile struct { _ struct{} `type:"structure"` - // A system-assigned unique identifier for a file transfer protocol-enabled - // server instance that has the user assigned to it. + // The unique Amazon Resource Name (ARN) for the profile. // - // ServerId is a required field - ServerId *string `min:"19" type:"string" required:"true"` + // Arn is a required field + Arn *string `min:"20" type:"string" required:"true"` - // A unique identifier used to reference your user's specific SSH key. - // - // SshPublicKeyId is a required field - SshPublicKeyId *string `min:"21" type:"string" required:"true"` + // The unique identifier for the AS2 process. + As2Id *string `min:"1" type:"string"` - // A unique string that identifies a user whose public key is being deleted. - // - // UserName is a required field - UserName *string `min:"3" type:"string" required:"true"` + // An array of identifiers for the imported certificates. You use this identifier + // for working with profiles and partner profiles. + CertificateIds []*string `type:"list"` + + // A unique identifier for the local or partner AS2 profile. + ProfileId *string `min:"19" type:"string"` + + // Indicates whether to list only LOCAL type profiles or only PARTNER type profiles. + // If not supplied in the request, the command lists all types of profiles. + ProfileType *string `type:"string" enum:"ProfileType"` + + // Key-value pairs that can be used to group and search for profiles. + Tags []*Tag `min:"1" type:"list"` } // String returns the string representation. @@ -5110,7 +10125,7 @@ type DeleteSshPublicKeyInput 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 DeleteSshPublicKeyInput) String() string { +func (s DescribedProfile) String() string { return awsutil.Prettify(s) } @@ -5119,58 +10134,75 @@ func (s DeleteSshPublicKeyInput) 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 DeleteSshPublicKeyInput) GoString() string { +func (s DescribedProfile) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteSshPublicKeyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteSshPublicKeyInput"} - if s.ServerId == nil { - invalidParams.Add(request.NewErrParamRequired("ServerId")) - } - if s.ServerId != nil && len(*s.ServerId) < 19 { - invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) - } - if s.SshPublicKeyId == nil { - invalidParams.Add(request.NewErrParamRequired("SshPublicKeyId")) - } - if s.SshPublicKeyId != nil && len(*s.SshPublicKeyId) < 21 { - invalidParams.Add(request.NewErrParamMinLen("SshPublicKeyId", 21)) - } - if s.UserName == nil { - invalidParams.Add(request.NewErrParamRequired("UserName")) - } - if s.UserName != nil && len(*s.UserName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("UserName", 3)) - } +// SetArn sets the Arn field's value. +func (s *DescribedProfile) SetArn(v string) *DescribedProfile { + s.Arn = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetAs2Id sets the As2Id field's value. +func (s *DescribedProfile) SetAs2Id(v string) *DescribedProfile { + s.As2Id = &v + return s } -// SetServerId sets the ServerId field's value. -func (s *DeleteSshPublicKeyInput) SetServerId(v string) *DeleteSshPublicKeyInput { - s.ServerId = &v +// SetCertificateIds sets the CertificateIds field's value. +func (s *DescribedProfile) SetCertificateIds(v []*string) *DescribedProfile { + s.CertificateIds = v return s } -// SetSshPublicKeyId sets the SshPublicKeyId field's value. -func (s *DeleteSshPublicKeyInput) SetSshPublicKeyId(v string) *DeleteSshPublicKeyInput { - s.SshPublicKeyId = &v +// SetProfileId sets the ProfileId field's value. +func (s *DescribedProfile) SetProfileId(v string) *DescribedProfile { + s.ProfileId = &v return s } -// SetUserName sets the UserName field's value. -func (s *DeleteSshPublicKeyInput) SetUserName(v string) *DeleteSshPublicKeyInput { - s.UserName = &v +// SetProfileType sets the ProfileType field's value. +func (s *DescribedProfile) SetProfileType(v string) *DescribedProfile { + s.ProfileType = &v return s } -type DeleteSshPublicKeyOutput struct { +// SetTags sets the Tags field's value. +func (s *DescribedProfile) SetTags(v []*Tag) *DescribedProfile { + s.Tags = v + return s +} + +// Describes the properties of a security policy that was specified. For more +// information about security policies, see Working with security policies (https://docs.aws.amazon.com/transfer/latest/userguide/security-policies.html). +type DescribedSecurityPolicy struct { _ struct{} `type:"structure"` + + // Specifies whether this policy enables Federal Information Processing Standards + // (FIPS). + Fips *bool `type:"boolean"` + + // Specifies the name of the security policy that is attached to the server. + // + // SecurityPolicyName is a required field + SecurityPolicyName *string `type:"string" required:"true"` + + // Specifies the enabled Secure Shell (SSH) cipher encryption algorithms in + // the security policy that is attached to the server. + SshCiphers []*string `type:"list"` + + // Specifies the enabled SSH key exchange (KEX) encryption algorithms in the + // security policy that is attached to the server. + SshKexs []*string `type:"list"` + + // Specifies the enabled SSH message authentication code (MAC) encryption algorithms + // in the security policy that is attached to the server. + SshMacs []*string `type:"list"` + + // Specifies the enabled Transport Layer Security (TLS) cipher encryption algorithms + // in the security policy that is attached to the server. + TlsCiphers []*string `type:"list"` } // String returns the string representation. @@ -5178,7 +10210,7 @@ type DeleteSshPublicKeyOutput 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 DeleteSshPublicKeyOutput) String() string { +func (s DescribedSecurityPolicy) String() string { return awsutil.Prettify(s) } @@ -5187,27 +10219,172 @@ func (s DeleteSshPublicKeyOutput) 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 DeleteSshPublicKeyOutput) GoString() string { +func (s DescribedSecurityPolicy) GoString() string { return s.String() } -// The name of the step, used to identify the delete step. -type DeleteStepDetails struct { +// SetFips sets the Fips field's value. +func (s *DescribedSecurityPolicy) SetFips(v bool) *DescribedSecurityPolicy { + s.Fips = &v + return s +} + +// SetSecurityPolicyName sets the SecurityPolicyName field's value. +func (s *DescribedSecurityPolicy) SetSecurityPolicyName(v string) *DescribedSecurityPolicy { + s.SecurityPolicyName = &v + return s +} + +// SetSshCiphers sets the SshCiphers field's value. +func (s *DescribedSecurityPolicy) SetSshCiphers(v []*string) *DescribedSecurityPolicy { + s.SshCiphers = v + return s +} + +// SetSshKexs sets the SshKexs field's value. +func (s *DescribedSecurityPolicy) SetSshKexs(v []*string) *DescribedSecurityPolicy { + s.SshKexs = v + return s +} + +// SetSshMacs sets the SshMacs field's value. +func (s *DescribedSecurityPolicy) SetSshMacs(v []*string) *DescribedSecurityPolicy { + s.SshMacs = v + return s +} + +// SetTlsCiphers sets the TlsCiphers field's value. +func (s *DescribedSecurityPolicy) SetTlsCiphers(v []*string) *DescribedSecurityPolicy { + s.TlsCiphers = v + return s +} + +// Describes the properties of a file transfer protocol-enabled server that +// was specified. +type DescribedServer struct { _ struct{} `type:"structure"` - // The name of the step, used as an identifier. - Name *string `type:"string"` + // Specifies the unique Amazon Resource Name (ARN) of the server. + // + // Arn is a required field + Arn *string `min:"20" type:"string" required:"true"` - // Specifies which file to use as input to the workflow step: either the output - // from the previous step, or the originally uploaded file for the workflow. + // Specifies the ARN of the Amazon Web ServicesCertificate Manager (ACM) certificate. + // Required when Protocols is set to FTPS. + Certificate *string `type:"string"` + + // Specifies the domain of the storage system that is used for file transfers. + Domain *string `type:"string" enum:"Domain"` + + // The virtual private cloud (VPC) endpoint settings that are configured for + // your server. When you host your endpoint within your VPC, you can make your + // endpoint accessible only to resources within your VPC, or you can attach + // Elastic IP addresses and make your endpoint accessible to clients over the + // internet. Your VPC's default security groups are automatically assigned to + // your endpoint. + EndpointDetails *EndpointDetails `type:"structure"` + + // Defines the type of endpoint that your server is connected to. If your server + // is connected to a VPC endpoint, your server isn't accessible over the public + // internet. + EndpointType *string `type:"string" enum:"EndpointType"` + + // Specifies the Base64-encoded SHA256 fingerprint of the server's host key. + // This value is equivalent to the output of the ssh-keygen -l -f my-new-server-key + // command. + HostKeyFingerprint *string `type:"string"` + + // Specifies information to call a customer-supplied authentication API. This + // field is not populated when the IdentityProviderType of a server is AWS_DIRECTORY_SERVICE + // or SERVICE_MANAGED. + IdentityProviderDetails *IdentityProviderDetails `type:"structure"` + + // The mode of authentication for a server. The default value is SERVICE_MANAGED, + // which allows you to store and access user credentials within the Transfer + // Family service. // - // * Enter ${previous.file} to use the previous file as the input. In this - // case, this workflow step uses the output file from the previous workflow - // step as input. This is the default value. + // Use AWS_DIRECTORY_SERVICE to provide access to Active Directory groups in + // Directory Service for Microsoft Active Directory or Microsoft Active Directory + // in your on-premises environment or in Amazon Web Services using AD Connector. + // This option also requires you to provide a Directory ID by using the IdentityProviderDetails + // parameter. // - // * Enter ${original.file} to use the originally-uploaded file location - // as input for this step. - SourceFileLocation *string `type:"string"` + // Use the API_GATEWAY value to integrate with an identity provider of your + // choosing. The API_GATEWAY setting requires you to provide an Amazon API Gateway + // endpoint URL to call for authentication by using the IdentityProviderDetails + // parameter. + // + // Use the AWS_LAMBDA value to directly use an Lambda function as your identity + // provider. If you choose this value, you must specify the ARN for the Lambda + // function in the Function parameter or the IdentityProviderDetails data type. + IdentityProviderType *string `type:"string" enum:"IdentityProviderType"` + + // The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) + // role that allows a server to turn on Amazon CloudWatch logging for Amazon + // S3 or Amazon EFSevents. When set, you can view user activity in your CloudWatch + // logs. + LoggingRole *string `min:"20" type:"string"` + + // Specifies a string to display when users connect to a server. This string + // is displayed after the user authenticates. + // + // The SFTP protocol does not support post-authentication display banners. + PostAuthenticationLoginBanner *string `type:"string"` + + // Specifies a string to display when users connect to a server. This string + // is displayed before the user authenticates. For example, the following banner + // displays details about using the system: + // + // This system is for the use of authorized users only. Individuals using this + // computer system without authority, or in excess of their authority, are subject + // to having all of their activities on this system monitored and recorded by + // system personnel. + PreAuthenticationLoginBanner *string `type:"string"` + + // The protocol settings that are configured for your server. + // + // Use the PassiveIp parameter to indicate passive mode. Enter a single IPv4 + // address, such as the public IP address of a firewall, router, or load balancer. + ProtocolDetails *ProtocolDetails `type:"structure"` + + // Specifies the file transfer protocol or protocols over which your file transfer + // protocol client can connect to your server's endpoint. The available protocols + // are: + // + // * SFTP (Secure Shell (SSH) File Transfer Protocol): File transfer over + // SSH + // + // * FTPS (File Transfer Protocol Secure): File transfer with TLS encryption + // + // * FTP (File Transfer Protocol): Unencrypted file transfer + Protocols []*string `min:"1" type:"list" enum:"Protocol"` + + // Specifies the name of the security policy that is attached to the server. + SecurityPolicyName *string `type:"string"` + + // Specifies the unique system-assigned identifier for a server that you instantiate. + ServerId *string `min:"19" type:"string"` + + // The condition of the server that was described. A value of ONLINE indicates + // that the server can accept jobs and transfer files. A State value of OFFLINE + // means that the server cannot perform file transfer operations. + // + // The states of STARTING and STOPPING indicate that the server is in an intermediate + // state, either not fully able to respond, or not fully offline. The values + // of START_FAILED or STOP_FAILED can indicate an error condition. + State *string `type:"string" enum:"State"` + + // Specifies the key-value pairs that you can use to search for and group servers + // that were assigned to the server that was described. + Tags []*Tag `min:"1" type:"list"` + + // Specifies the number of users that are assigned to a server you specified + // with the ServerId. + UserCount *int64 `type:"integer"` + + // Specifies the workflow ID for the workflow to assign and the execution role + // that's used for executing the workflow. + WorkflowDetails *WorkflowDetails `type:"structure"` } // String returns the string representation. @@ -5215,7 +10392,7 @@ type DeleteStepDetails 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 DeleteStepDetails) String() string { +func (s DescribedServer) String() string { return awsutil.Prettify(s) } @@ -5224,162 +10401,197 @@ func (s DeleteStepDetails) 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 DeleteStepDetails) GoString() string { +func (s DescribedServer) GoString() string { return s.String() } -// SetName sets the Name field's value. -func (s *DeleteStepDetails) SetName(v string) *DeleteStepDetails { - s.Name = &v +// SetArn sets the Arn field's value. +func (s *DescribedServer) SetArn(v string) *DescribedServer { + s.Arn = &v return s } -// SetSourceFileLocation sets the SourceFileLocation field's value. -func (s *DeleteStepDetails) SetSourceFileLocation(v string) *DeleteStepDetails { - s.SourceFileLocation = &v +// SetCertificate sets the Certificate field's value. +func (s *DescribedServer) SetCertificate(v string) *DescribedServer { + s.Certificate = &v return s } -type DeleteUserInput struct { - _ struct{} `type:"structure"` +// SetDomain sets the Domain field's value. +func (s *DescribedServer) SetDomain(v string) *DescribedServer { + s.Domain = &v + return s +} - // A system-assigned unique identifier for a server instance that has the user - // assigned to it. - // - // ServerId is a required field - ServerId *string `min:"19" type:"string" required:"true"` +// SetEndpointDetails sets the EndpointDetails field's value. +func (s *DescribedServer) SetEndpointDetails(v *EndpointDetails) *DescribedServer { + s.EndpointDetails = v + return s +} - // A unique string that identifies a user that is being deleted from a server. - // - // UserName is a required field - UserName *string `min:"3" type:"string" required:"true"` +// SetEndpointType sets the EndpointType field's value. +func (s *DescribedServer) SetEndpointType(v string) *DescribedServer { + s.EndpointType = &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 DeleteUserInput) String() string { - return awsutil.Prettify(s) +// SetHostKeyFingerprint sets the HostKeyFingerprint field's value. +func (s *DescribedServer) SetHostKeyFingerprint(v string) *DescribedServer { + s.HostKeyFingerprint = &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 DeleteUserInput) GoString() string { - return s.String() +// SetIdentityProviderDetails sets the IdentityProviderDetails field's value. +func (s *DescribedServer) SetIdentityProviderDetails(v *IdentityProviderDetails) *DescribedServer { + s.IdentityProviderDetails = v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteUserInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteUserInput"} - if s.ServerId == nil { - invalidParams.Add(request.NewErrParamRequired("ServerId")) - } - if s.ServerId != nil && len(*s.ServerId) < 19 { - invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) - } - if s.UserName == nil { - invalidParams.Add(request.NewErrParamRequired("UserName")) - } - if s.UserName != nil && len(*s.UserName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("UserName", 3)) - } +// SetIdentityProviderType sets the IdentityProviderType field's value. +func (s *DescribedServer) SetIdentityProviderType(v string) *DescribedServer { + s.IdentityProviderType = &v + return s +} + +// SetLoggingRole sets the LoggingRole field's value. +func (s *DescribedServer) SetLoggingRole(v string) *DescribedServer { + s.LoggingRole = &v + return s +} + +// SetPostAuthenticationLoginBanner sets the PostAuthenticationLoginBanner field's value. +func (s *DescribedServer) SetPostAuthenticationLoginBanner(v string) *DescribedServer { + s.PostAuthenticationLoginBanner = &v + return s +} + +// SetPreAuthenticationLoginBanner sets the PreAuthenticationLoginBanner field's value. +func (s *DescribedServer) SetPreAuthenticationLoginBanner(v string) *DescribedServer { + s.PreAuthenticationLoginBanner = &v + return s +} + +// SetProtocolDetails sets the ProtocolDetails field's value. +func (s *DescribedServer) SetProtocolDetails(v *ProtocolDetails) *DescribedServer { + s.ProtocolDetails = v + return s +} + +// SetProtocols sets the Protocols field's value. +func (s *DescribedServer) SetProtocols(v []*string) *DescribedServer { + s.Protocols = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetSecurityPolicyName sets the SecurityPolicyName field's value. +func (s *DescribedServer) SetSecurityPolicyName(v string) *DescribedServer { + s.SecurityPolicyName = &v + return s } // SetServerId sets the ServerId field's value. -func (s *DeleteUserInput) SetServerId(v string) *DeleteUserInput { +func (s *DescribedServer) SetServerId(v string) *DescribedServer { s.ServerId = &v return s } -// SetUserName sets the UserName field's value. -func (s *DeleteUserInput) SetUserName(v string) *DeleteUserInput { - s.UserName = &v +// SetState sets the State field's value. +func (s *DescribedServer) SetState(v string) *DescribedServer { + s.State = &v return s } -type DeleteUserOutput struct { - _ struct{} `type:"structure"` +// SetTags sets the Tags field's value. +func (s *DescribedServer) SetTags(v []*Tag) *DescribedServer { + s.Tags = 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 DeleteUserOutput) String() string { - return awsutil.Prettify(s) +// SetUserCount sets the UserCount field's value. +func (s *DescribedServer) SetUserCount(v int64) *DescribedServer { + s.UserCount = &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 DeleteUserOutput) GoString() string { - return s.String() +// SetWorkflowDetails sets the WorkflowDetails field's value. +func (s *DescribedServer) SetWorkflowDetails(v *WorkflowDetails) *DescribedServer { + s.WorkflowDetails = v + return s } -type DeleteWorkflowInput struct { +// Describes the properties of a user that was specified. +type DescribedUser struct { _ struct{} `type:"structure"` - // A unique identifier for the workflow. + // Specifies the unique Amazon Resource Name (ARN) for the user that was requested + // to be described. // - // WorkflowId is a required field - WorkflowId *string `min:"19" type:"string" required:"true"` -} + // Arn is a required field + Arn *string `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 DeleteWorkflowInput) String() string { - return awsutil.Prettify(s) -} + // The landing directory (folder) for a user when they log in to the server + // using the client. + // + // A HomeDirectory example is /bucket_name/home/mydirectory. + HomeDirectory *string `type:"string"` -// 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 DeleteWorkflowInput) GoString() string { - return s.String() -} + // Logical directory mappings that specify what Amazon S3 or Amazon EFS paths + // and keys should be visible to your user and how you want to make them visible. + // You must specify the Entry and Target pair, where Entry shows how the path + // is made visible and Target is the actual Amazon S3 or Amazon EFS path. If + // you only specify a target, it is displayed as is. You also must ensure that + // your Identity and Access Management (IAM) role provides access to paths in + // Target. This value can be set only when HomeDirectoryType is set to LOGICAL. + // + // In most cases, you can use this value instead of the session policy to lock + // your user down to the designated home directory ("chroot"). To do this, you + // can set Entry to '/' and set Target to the HomeDirectory parameter value. + HomeDirectoryMappings []*HomeDirectoryMapEntry `min:"1" type:"list"` -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteWorkflowInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteWorkflowInput"} - if s.WorkflowId == nil { - invalidParams.Add(request.NewErrParamRequired("WorkflowId")) - } - if s.WorkflowId != nil && len(*s.WorkflowId) < 19 { - invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 19)) - } + // The type of landing directory (folder) that you want your users' home directory + // to be when they log in to the server. If you set it to PATH, the user will + // see the absolute Amazon S3 bucket or EFS paths as is in their file transfer + // protocol clients. If you set it LOGICAL, you need to provide mappings in + // the HomeDirectoryMappings for how you want to make Amazon S3 or Amazon EFS + // paths visible to your users. + HomeDirectoryType *string `type:"string" enum:"HomeDirectoryType"` - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} + // A session policy for your user so that you can use the same Identity and + // Access Management (IAM) role across multiple users. This policy scopes down + // a user's access to portions of their Amazon S3 bucket. Variables that you + // can use inside this policy include ${Transfer:UserName}, ${Transfer:HomeDirectory}, + // and ${Transfer:HomeBucket}. + Policy *string `type:"string"` -// SetWorkflowId sets the WorkflowId field's value. -func (s *DeleteWorkflowInput) SetWorkflowId(v string) *DeleteWorkflowInput { - s.WorkflowId = &v - return s -} + // Specifies the full POSIX identity, including user ID (Uid), group ID (Gid), + // and any secondary groups IDs (SecondaryGids), that controls your users' access + // to your Amazon Elastic File System (Amazon EFS) file systems. The POSIX permissions + // that are set on files and directories in your file system determine the level + // of access your users get when transferring files into and out of your Amazon + // EFS file systems. + PosixProfile *PosixProfile `type:"structure"` -type DeleteWorkflowOutput struct { - _ struct{} `type:"structure"` + // The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) + // role that controls your users' access to your Amazon S3 bucket or Amazon + // EFS file system. The policies attached to this role determine the level of + // access that you want to provide your users when transferring files into and + // out of your Amazon S3 bucket or Amazon EFS file system. The IAM role should + // also contain a trust relationship that allows the server to access your resources + // when servicing your users' transfer requests. + Role *string `min:"20" type:"string"` + + // Specifies the public key portion of the Secure Shell (SSH) keys stored for + // the described user. + SshPublicKeys []*SshPublicKey `type:"list"` + + // Specifies the key-value pairs for the user requested. Tag can be used to + // search for and group users for a variety of purposes. + Tags []*Tag `min:"1" type:"list"` + + // Specifies the name of the user that was requested to be described. User names + // are used for authentication purposes. This is the string that will be used + // by your user when they log in to your server. + UserName *string `min:"3" type:"string"` } // String returns the string representation. @@ -5387,7 +10599,7 @@ type DeleteWorkflowOutput 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 DeleteWorkflowOutput) String() string { +func (s DescribedUser) String() string { return awsutil.Prettify(s) } @@ -5396,102 +10608,95 @@ func (s DeleteWorkflowOutput) 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 DeleteWorkflowOutput) GoString() string { +func (s DescribedUser) GoString() string { return s.String() } -type DescribeAccessInput struct { - _ struct{} `type:"structure"` +// SetArn sets the Arn field's value. +func (s *DescribedUser) SetArn(v string) *DescribedUser { + s.Arn = &v + return s +} - // A unique identifier that is required to identify specific groups within your - // directory. The users of the group that you associate have access to your - // Amazon S3 or Amazon EFS resources over the enabled protocols using Amazon - // Web Services Transfer Family. If you know the group name, you can view the - // SID values by running the following command using Windows PowerShell. - // - // Get-ADGroup -Filter {samAccountName -like "YourGroupName*"} -Properties * - // | Select SamAccountName,ObjectSid - // - // In that command, replace YourGroupName with the name of your Active Directory - // group. - // - // The regex used to validate this parameter is a string of characters consisting - // of uppercase and lowercase alphanumeric characters with no spaces. You can - // also include underscores or any of the following characters: =,.@:/- - // - // ExternalId is a required field - ExternalId *string `min:"1" type:"string" required:"true"` +// SetHomeDirectory sets the HomeDirectory field's value. +func (s *DescribedUser) SetHomeDirectory(v string) *DescribedUser { + s.HomeDirectory = &v + return s +} - // A system-assigned unique identifier for a server that has this access assigned. - // - // ServerId is a required field - ServerId *string `min:"19" type:"string" required:"true"` +// SetHomeDirectoryMappings sets the HomeDirectoryMappings field's value. +func (s *DescribedUser) SetHomeDirectoryMappings(v []*HomeDirectoryMapEntry) *DescribedUser { + s.HomeDirectoryMappings = 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 DescribeAccessInput) String() string { - return awsutil.Prettify(s) +// SetHomeDirectoryType sets the HomeDirectoryType field's value. +func (s *DescribedUser) SetHomeDirectoryType(v string) *DescribedUser { + s.HomeDirectoryType = &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 DescribeAccessInput) GoString() string { - return s.String() +// SetPolicy sets the Policy field's value. +func (s *DescribedUser) SetPolicy(v string) *DescribedUser { + s.Policy = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeAccessInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeAccessInput"} - if s.ExternalId == nil { - invalidParams.Add(request.NewErrParamRequired("ExternalId")) - } - if s.ExternalId != nil && len(*s.ExternalId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ExternalId", 1)) - } - if s.ServerId == nil { - invalidParams.Add(request.NewErrParamRequired("ServerId")) - } - if s.ServerId != nil && len(*s.ServerId) < 19 { - invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) - } +// SetPosixProfile sets the PosixProfile field's value. +func (s *DescribedUser) SetPosixProfile(v *PosixProfile) *DescribedUser { + s.PosixProfile = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetRole sets the Role field's value. +func (s *DescribedUser) SetRole(v string) *DescribedUser { + s.Role = &v + return s } -// SetExternalId sets the ExternalId field's value. -func (s *DescribeAccessInput) SetExternalId(v string) *DescribeAccessInput { - s.ExternalId = &v +// SetSshPublicKeys sets the SshPublicKeys field's value. +func (s *DescribedUser) SetSshPublicKeys(v []*SshPublicKey) *DescribedUser { + s.SshPublicKeys = v return s } -// SetServerId sets the ServerId field's value. -func (s *DescribeAccessInput) SetServerId(v string) *DescribeAccessInput { - s.ServerId = &v +// SetTags sets the Tags field's value. +func (s *DescribedUser) SetTags(v []*Tag) *DescribedUser { + s.Tags = v return s } -type DescribeAccessOutput struct { +// SetUserName sets the UserName field's value. +func (s *DescribedUser) SetUserName(v string) *DescribedUser { + s.UserName = &v + return s +} + +// Describes the properties of the specified workflow +type DescribedWorkflow struct { _ struct{} `type:"structure"` - // The external ID of the server that the access is attached to. - // - // Access is a required field - Access *DescribedAccess `type:"structure" required:"true"` + // Specifies the unique Amazon Resource Name (ARN) for the workflow. + // + // Arn is a required field + Arn *string `min:"20" type:"string" required:"true"` + + // Specifies the text description for the workflow. + Description *string `type:"string"` + + // Specifies the steps (actions) to take if errors are encountered during execution + // of the workflow. + OnExceptionSteps []*WorkflowStep `type:"list"` + + // Specifies the details for the steps that are in the specified workflow. + Steps []*WorkflowStep `type:"list"` + + // Key-value pairs that can be used to group and search for workflows. Tags + // are metadata attached to workflows for any purpose. + Tags []*Tag `min:"1" type:"list"` - // A system-assigned unique identifier for a server that has this access assigned. - // - // ServerId is a required field - ServerId *string `min:"19" type:"string" required:"true"` + // A unique identifier for the workflow. + WorkflowId *string `min:"19" type:"string"` } // String returns the string representation. @@ -5499,7 +10704,7 @@ type DescribeAccessOutput 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 DescribeAccessOutput) String() string { +func (s DescribedWorkflow) String() string { return awsutil.Prettify(s) } @@ -5508,34 +10713,55 @@ func (s DescribeAccessOutput) 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 DescribeAccessOutput) GoString() string { +func (s DescribedWorkflow) GoString() string { return s.String() } -// SetAccess sets the Access field's value. -func (s *DescribeAccessOutput) SetAccess(v *DescribedAccess) *DescribeAccessOutput { - s.Access = v +// SetArn sets the Arn field's value. +func (s *DescribedWorkflow) SetArn(v string) *DescribedWorkflow { + s.Arn = &v return s } -// SetServerId sets the ServerId field's value. -func (s *DescribeAccessOutput) SetServerId(v string) *DescribeAccessOutput { - s.ServerId = &v +// SetDescription sets the Description field's value. +func (s *DescribedWorkflow) SetDescription(v string) *DescribedWorkflow { + s.Description = &v return s } -type DescribeExecutionInput struct { +// SetOnExceptionSteps sets the OnExceptionSteps field's value. +func (s *DescribedWorkflow) SetOnExceptionSteps(v []*WorkflowStep) *DescribedWorkflow { + s.OnExceptionSteps = v + return s +} + +// SetSteps sets the Steps field's value. +func (s *DescribedWorkflow) SetSteps(v []*WorkflowStep) *DescribedWorkflow { + s.Steps = v + return s +} + +// SetTags sets the Tags field's value. +func (s *DescribedWorkflow) SetTags(v []*Tag) *DescribedWorkflow { + s.Tags = v + return s +} + +// SetWorkflowId sets the WorkflowId field's value. +func (s *DescribedWorkflow) SetWorkflowId(v string) *DescribedWorkflow { + s.WorkflowId = &v + return s +} + +// Reserved for future use. +type EfsFileLocation struct { _ struct{} `type:"structure"` - // A unique identifier for the execution of a workflow. - // - // ExecutionId is a required field - ExecutionId *string `min:"36" type:"string" required:"true"` + // The ID of the file system, assigned by Amazon EFS. + FileSystemId *string `type:"string"` - // A unique identifier for the workflow. - // - // WorkflowId is a required field - WorkflowId *string `min:"19" type:"string" required:"true"` + // The pathname for the folder being used by a workflow. + Path *string `min:"1" type:"string"` } // String returns the string representation. @@ -5543,7 +10769,7 @@ type DescribeExecutionInput 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 DescribeExecutionInput) String() string { +func (s EfsFileLocation) String() string { return awsutil.Prettify(s) } @@ -5552,24 +10778,15 @@ func (s DescribeExecutionInput) 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 DescribeExecutionInput) GoString() string { +func (s EfsFileLocation) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeExecutionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeExecutionInput"} - if s.ExecutionId == nil { - invalidParams.Add(request.NewErrParamRequired("ExecutionId")) - } - if s.ExecutionId != nil && len(*s.ExecutionId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ExecutionId", 36)) - } - if s.WorkflowId == nil { - invalidParams.Add(request.NewErrParamRequired("WorkflowId")) - } - if s.WorkflowId != nil && len(*s.WorkflowId) < 19 { - invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 19)) +func (s *EfsFileLocation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EfsFileLocation"} + if s.Path != nil && len(*s.Path) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Path", 1)) } if invalidParams.Len() > 0 { @@ -5578,30 +10795,70 @@ func (s *DescribeExecutionInput) Validate() error { return nil } -// SetExecutionId sets the ExecutionId field's value. -func (s *DescribeExecutionInput) SetExecutionId(v string) *DescribeExecutionInput { - s.ExecutionId = &v +// SetFileSystemId sets the FileSystemId field's value. +func (s *EfsFileLocation) SetFileSystemId(v string) *EfsFileLocation { + s.FileSystemId = &v return s } -// SetWorkflowId sets the WorkflowId field's value. -func (s *DescribeExecutionInput) SetWorkflowId(v string) *DescribeExecutionInput { - s.WorkflowId = &v +// SetPath sets the Path field's value. +func (s *EfsFileLocation) SetPath(v string) *EfsFileLocation { + s.Path = &v return s } -type DescribeExecutionOutput struct { +// The virtual private cloud (VPC) endpoint settings that are configured for +// your file transfer protocol-enabled server. With a VPC endpoint, you can +// restrict access to your server and resources only within your VPC. To control +// incoming internet traffic, invoke the UpdateServer API and attach an Elastic +// IP address to your server's endpoint. +// +// After May 19, 2021, you won't be able to create a server using EndpointType=VPC_ENDPOINT +// in your Amazon Web Servicesaccount if your account hasn't already done so +// before May 19, 2021. If you have already created servers with EndpointType=VPC_ENDPOINT +// in your Amazon Web Servicesaccount on or before May 19, 2021, you will not +// be affected. After this date, use EndpointType=VPC. +// +// For more information, see https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint. +type EndpointDetails struct { _ struct{} `type:"structure"` - // The structure that contains the details of the workflow' execution. + // A list of address allocation IDs that are required to attach an Elastic IP + // address to your server's endpoint. // - // Execution is a required field - Execution *DescribedExecution `type:"structure" required:"true"` + // This property can only be set when EndpointType is set to VPC and it is only + // valid in the UpdateServer API. + AddressAllocationIds []*string `type:"list"` - // A unique identifier for the workflow. + // A list of security groups IDs that are available to attach to your server's + // endpoint. // - // WorkflowId is a required field - WorkflowId *string `min:"19" type:"string" required:"true"` + // This property can only be set when EndpointType is set to VPC. + // + // You can edit the SecurityGroupIds property in the UpdateServer (https://docs.aws.amazon.com/transfer/latest/userguide/API_UpdateServer.html) + // API only if you are changing the EndpointType from PUBLIC or VPC_ENDPOINT + // to VPC. To change security groups associated with your server's VPC endpoint + // after creation, use the Amazon EC2 ModifyVpcEndpoint (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyVpcEndpoint.html) + // API. + SecurityGroupIds []*string `type:"list"` + + // A list of subnet IDs that are required to host your server endpoint in your + // VPC. + // + // This property can only be set when EndpointType is set to VPC. + SubnetIds []*string `type:"list"` + + // The ID of the VPC endpoint. + // + // This property can only be set when EndpointType is set to VPC_ENDPOINT. + // + // For more information, see https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint. + VpcEndpointId *string `min:"22" type:"string"` + + // The VPC ID of the VPC in which a server's endpoint will be hosted. + // + // This property can only be set when EndpointType is set to VPC. + VpcId *string `type:"string"` } // String returns the string representation. @@ -5609,7 +10866,7 @@ type DescribeExecutionOutput 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 DescribeExecutionOutput) String() string { +func (s EndpointDetails) String() string { return awsutil.Prettify(s) } @@ -5618,29 +10875,91 @@ func (s DescribeExecutionOutput) 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 DescribeExecutionOutput) GoString() string { +func (s EndpointDetails) GoString() string { return s.String() } -// SetExecution sets the Execution field's value. -func (s *DescribeExecutionOutput) SetExecution(v *DescribedExecution) *DescribeExecutionOutput { - s.Execution = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *EndpointDetails) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EndpointDetails"} + if s.VpcEndpointId != nil && len(*s.VpcEndpointId) < 22 { + invalidParams.Add(request.NewErrParamMinLen("VpcEndpointId", 22)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAddressAllocationIds sets the AddressAllocationIds field's value. +func (s *EndpointDetails) SetAddressAllocationIds(v []*string) *EndpointDetails { + s.AddressAllocationIds = v return s } -// SetWorkflowId sets the WorkflowId field's value. -func (s *DescribeExecutionOutput) SetWorkflowId(v string) *DescribeExecutionOutput { - s.WorkflowId = &v +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *EndpointDetails) SetSecurityGroupIds(v []*string) *EndpointDetails { + s.SecurityGroupIds = v return s } -type DescribeSecurityPolicyInput struct { +// SetSubnetIds sets the SubnetIds field's value. +func (s *EndpointDetails) SetSubnetIds(v []*string) *EndpointDetails { + s.SubnetIds = v + return s +} + +// SetVpcEndpointId sets the VpcEndpointId field's value. +func (s *EndpointDetails) SetVpcEndpointId(v string) *EndpointDetails { + s.VpcEndpointId = &v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *EndpointDetails) SetVpcId(v string) *EndpointDetails { + s.VpcId = &v + return s +} + +// Specifies the error message and type, for an error that occurs during the +// execution of the workflow. +type ExecutionError struct { _ struct{} `type:"structure"` - // Specifies the name of the security policy that is attached to the server. + // Specifies the descriptive message that corresponds to the ErrorType. // - // SecurityPolicyName is a required field - SecurityPolicyName *string `type:"string" required:"true"` + // Message is a required field + Message *string `type:"string" required:"true"` + + // Specifies the error type. + // + // * ALREADY_EXISTS: occurs for a copy step, if the overwrite option is not + // selected and a file with the same name already exists in the target location. + // + // * BAD_REQUEST: a general bad request: for example, a step that attempts + // to tag an EFS file returns BAD_REQUEST, as only S3 files can be tagged. + // + // * CUSTOM_STEP_FAILED: occurs when the custom step provided a callback + // that indicates failure. + // + // * INTERNAL_SERVER_ERROR: a catch-all error that can occur for a variety + // of reasons. + // + // * NOT_FOUND: occurs when a requested entity, for example a source file + // for a copy step, does not exist. + // + // * PERMISSION_DENIED: occurs if your policy does not contain the correct + // permissions to complete one or more of the steps in the workflow. + // + // * TIMEOUT: occurs when the execution times out. You can set the TimeoutSeconds + // for a custom step, anywhere from 1 second to 1800 seconds (30 minutes). + // + // * THROTTLED: occurs if you exceed the new execution refill rate of one + // workflow per second. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"ExecutionErrorType"` } // String returns the string representation. @@ -5648,7 +10967,7 @@ type DescribeSecurityPolicyInput 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 DescribeSecurityPolicyInput) String() string { +func (s ExecutionError) String() string { return awsutil.Prettify(s) } @@ -5657,36 +10976,33 @@ func (s DescribeSecurityPolicyInput) 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 DescribeSecurityPolicyInput) GoString() string { +func (s ExecutionError) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeSecurityPolicyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeSecurityPolicyInput"} - if s.SecurityPolicyName == nil { - invalidParams.Add(request.NewErrParamRequired("SecurityPolicyName")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetMessage sets the Message field's value. +func (s *ExecutionError) SetMessage(v string) *ExecutionError { + s.Message = &v + return s } -// SetSecurityPolicyName sets the SecurityPolicyName field's value. -func (s *DescribeSecurityPolicyInput) SetSecurityPolicyName(v string) *DescribeSecurityPolicyInput { - s.SecurityPolicyName = &v +// SetType sets the Type field's value. +func (s *ExecutionError) SetType(v string) *ExecutionError { + s.Type = &v return s } -type DescribeSecurityPolicyOutput struct { +// Specifies the steps in the workflow, as well as the steps to execute in case +// of any errors during workflow execution. +type ExecutionResults struct { _ struct{} `type:"structure"` - // An array containing the properties of the security policy. - // - // SecurityPolicy is a required field - SecurityPolicy *DescribedSecurityPolicy `type:"structure" required:"true"` + // Specifies the steps (actions) to take if errors are encountered during execution + // of the workflow. + OnExceptionSteps []*ExecutionStepResult `min:"1" type:"list"` + + // Specifies the details for the steps that are in the specified workflow. + Steps []*ExecutionStepResult `min:"1" type:"list"` } // String returns the string representation. @@ -5694,7 +11010,7 @@ type DescribeSecurityPolicyOutput 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 DescribeSecurityPolicyOutput) String() string { +func (s ExecutionResults) String() string { return awsutil.Prettify(s) } @@ -5703,23 +11019,45 @@ func (s DescribeSecurityPolicyOutput) 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 DescribeSecurityPolicyOutput) GoString() string { +func (s ExecutionResults) GoString() string { return s.String() } -// SetSecurityPolicy sets the SecurityPolicy field's value. -func (s *DescribeSecurityPolicyOutput) SetSecurityPolicy(v *DescribedSecurityPolicy) *DescribeSecurityPolicyOutput { - s.SecurityPolicy = v +// SetOnExceptionSteps sets the OnExceptionSteps field's value. +func (s *ExecutionResults) SetOnExceptionSteps(v []*ExecutionStepResult) *ExecutionResults { + s.OnExceptionSteps = v return s } -type DescribeServerInput struct { +// SetSteps sets the Steps field's value. +func (s *ExecutionResults) SetSteps(v []*ExecutionStepResult) *ExecutionResults { + s.Steps = v + return s +} + +// Specifies the following details for the step: error (if any), outputs (if +// any), and the step type. +type ExecutionStepResult struct { _ struct{} `type:"structure"` - // A system-assigned unique identifier for a server. + // Specifies the details for an error, if it occurred during execution of the + // specified workflow step. + Error *ExecutionError `type:"structure"` + + // The values for the key/value pair applied as a tag to the file. Only applicable + // if the step type is TAG. + Outputs *string `type:"string"` + + // One of the available step types. // - // ServerId is a required field - ServerId *string `min:"19" type:"string" required:"true"` + // * COPY: Copy the file to another location. + // + // * CUSTOM: Perform a custom step with an Lambda function target. + // + // * DELETE: Delete the file. + // + // * TAG: Add a tag to the file. + StepType *string `type:"string" enum:"WorkflowStepType"` } // String returns the string representation. @@ -5727,7 +11065,7 @@ type DescribeServerInput 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 DescribeServerInput) String() string { +func (s ExecutionStepResult) String() string { return awsutil.Prettify(s) } @@ -5736,39 +11074,38 @@ func (s DescribeServerInput) 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 DescribeServerInput) GoString() string { +func (s ExecutionStepResult) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeServerInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeServerInput"} - if s.ServerId == nil { - invalidParams.Add(request.NewErrParamRequired("ServerId")) - } - if s.ServerId != nil && len(*s.ServerId) < 19 { - invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) - } +// SetError sets the Error field's value. +func (s *ExecutionStepResult) SetError(v *ExecutionError) *ExecutionStepResult { + s.Error = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetOutputs sets the Outputs field's value. +func (s *ExecutionStepResult) SetOutputs(v string) *ExecutionStepResult { + s.Outputs = &v + return s } -// SetServerId sets the ServerId field's value. -func (s *DescribeServerInput) SetServerId(v string) *DescribeServerInput { - s.ServerId = &v +// SetStepType sets the StepType field's value. +func (s *ExecutionStepResult) SetStepType(v string) *ExecutionStepResult { + s.StepType = &v return s } -type DescribeServerOutput struct { +// Specifies the Amazon S3 or EFS file details to be used in the step. +type FileLocation struct { _ struct{} `type:"structure"` - // An array containing the properties of a server with the ServerID you specified. - // - // Server is a required field - Server *DescribedServer `type:"structure" required:"true"` + // Specifies the Amazon EFS ID and the path for the file being used. + EfsFileLocation *EfsFileLocation `type:"structure"` + + // Specifies the S3 details for the file being used, such as bucket, ETag, and + // so forth. + S3FileLocation *S3FileLocation `type:"structure"` } // String returns the string representation. @@ -5776,7 +11113,7 @@ type DescribeServerOutput 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 DescribeServerOutput) String() string { +func (s FileLocation) String() string { return awsutil.Prettify(s) } @@ -5785,30 +11122,39 @@ func (s DescribeServerOutput) 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 DescribeServerOutput) GoString() string { +func (s FileLocation) GoString() string { return s.String() } -// SetServer sets the Server field's value. -func (s *DescribeServerOutput) SetServer(v *DescribedServer) *DescribeServerOutput { - s.Server = v +// SetEfsFileLocation sets the EfsFileLocation field's value. +func (s *FileLocation) SetEfsFileLocation(v *EfsFileLocation) *FileLocation { + s.EfsFileLocation = v return s } -type DescribeUserInput struct { +// SetS3FileLocation sets the S3FileLocation field's value. +func (s *FileLocation) SetS3FileLocation(v *S3FileLocation) *FileLocation { + s.S3FileLocation = v + return s +} + +// Represents an object that contains entries and targets for HomeDirectoryMappings. +// +// The following is an Entry and Target pair example for chroot. +// +// [ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ] +type HomeDirectoryMapEntry struct { _ struct{} `type:"structure"` - // A system-assigned unique identifier for a server that has this user assigned. + // Represents an entry for HomeDirectoryMappings. // - // ServerId is a required field - ServerId *string `min:"19" type:"string" required:"true"` + // Entry is a required field + Entry *string `type:"string" required:"true"` - // The name of the user assigned to one or more servers. User names are part - // of the sign-in credentials to use the Amazon Web Services Transfer Family - // service and perform file transfer tasks. + // Represents the map target that is used in a HomeDirectorymapEntry. // - // UserName is a required field - UserName *string `min:"3" type:"string" required:"true"` + // Target is a required field + Target *string `type:"string" required:"true"` } // String returns the string representation. @@ -5816,7 +11162,7 @@ type DescribeUserInput 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 DescribeUserInput) String() string { +func (s HomeDirectoryMapEntry) String() string { return awsutil.Prettify(s) } @@ -5825,24 +11171,18 @@ func (s DescribeUserInput) 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 DescribeUserInput) GoString() string { +func (s HomeDirectoryMapEntry) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeUserInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeUserInput"} - if s.ServerId == nil { - invalidParams.Add(request.NewErrParamRequired("ServerId")) - } - if s.ServerId != nil && len(*s.ServerId) < 19 { - invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) - } - if s.UserName == nil { - invalidParams.Add(request.NewErrParamRequired("UserName")) +func (s *HomeDirectoryMapEntry) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HomeDirectoryMapEntry"} + if s.Entry == nil { + invalidParams.Add(request.NewErrParamRequired("Entry")) } - if s.UserName != nil && len(*s.UserName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("UserName", 3)) + if s.Target == nil { + invalidParams.Add(request.NewErrParamRequired("Target")) } if invalidParams.Len() > 0 { @@ -5851,31 +11191,35 @@ func (s *DescribeUserInput) Validate() error { return nil } -// SetServerId sets the ServerId field's value. -func (s *DescribeUserInput) SetServerId(v string) *DescribeUserInput { - s.ServerId = &v +// SetEntry sets the Entry field's value. +func (s *HomeDirectoryMapEntry) SetEntry(v string) *HomeDirectoryMapEntry { + s.Entry = &v return s } -// SetUserName sets the UserName field's value. -func (s *DescribeUserInput) SetUserName(v string) *DescribeUserInput { - s.UserName = &v +// SetTarget sets the Target field's value. +func (s *HomeDirectoryMapEntry) SetTarget(v string) *HomeDirectoryMapEntry { + s.Target = &v return s } -type DescribeUserOutput struct { +// Returns information related to the type of user authentication that is in +// use for a file transfer protocol-enabled server's users. A server can have +// only one method of authentication. +type IdentityProviderDetails struct { _ struct{} `type:"structure"` - // A system-assigned unique identifier for a server that has this user assigned. - // - // ServerId is a required field - ServerId *string `min:"19" type:"string" required:"true"` + // The identifier of the Directory Service directory that you want to stop sharing. + DirectoryId *string `min:"12" type:"string"` - // An array containing the properties of the user account for the ServerID value - // that you specified. - // - // User is a required field - User *DescribedUser `type:"structure" required:"true"` + // The ARN for a lambda function to use for the Identity provider. + Function *string `min:"1" type:"string"` + + // Provides the type of InvocationRole used to authenticate the user account. + InvocationRole *string `min:"20" type:"string"` + + // Provides the location of the service endpoint used to authenticate users. + Url *string `type:"string"` } // String returns the string representation. @@ -5883,7 +11227,7 @@ type DescribeUserOutput 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 DescribeUserOutput) String() string { +func (s IdentityProviderDetails) String() string { return awsutil.Prettify(s) } @@ -5892,29 +11236,96 @@ func (s DescribeUserOutput) 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 DescribeUserOutput) GoString() string { +func (s IdentityProviderDetails) GoString() string { return s.String() } -// SetServerId sets the ServerId field's value. -func (s *DescribeUserOutput) SetServerId(v string) *DescribeUserOutput { - s.ServerId = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *IdentityProviderDetails) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IdentityProviderDetails"} + if s.DirectoryId != nil && len(*s.DirectoryId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("DirectoryId", 12)) + } + if s.Function != nil && len(*s.Function) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Function", 1)) + } + if s.InvocationRole != nil && len(*s.InvocationRole) < 20 { + invalidParams.Add(request.NewErrParamMinLen("InvocationRole", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDirectoryId sets the DirectoryId field's value. +func (s *IdentityProviderDetails) SetDirectoryId(v string) *IdentityProviderDetails { + s.DirectoryId = &v return s } -// SetUser sets the User field's value. -func (s *DescribeUserOutput) SetUser(v *DescribedUser) *DescribeUserOutput { - s.User = v +// SetFunction sets the Function field's value. +func (s *IdentityProviderDetails) SetFunction(v string) *IdentityProviderDetails { + s.Function = &v + return s +} + +// SetInvocationRole sets the InvocationRole field's value. +func (s *IdentityProviderDetails) SetInvocationRole(v string) *IdentityProviderDetails { + s.InvocationRole = &v + return s +} + +// SetUrl sets the Url field's value. +func (s *IdentityProviderDetails) SetUrl(v string) *IdentityProviderDetails { + s.Url = &v return s } -type DescribeWorkflowInput struct { - _ struct{} `type:"structure"` +type ImportCertificateInput struct { + _ struct{} `type:"structure"` + + // An optional date that specifies when the certificate becomes active. + ActiveDate *time.Time `type:"timestamp"` + + // The file that contains the certificate to import. + // + // Certificate is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by ImportCertificateInput's + // String and GoString methods. + // + // Certificate is a required field + Certificate *string `min:"1" type:"string" required:"true" sensitive:"true"` + + // An optional list of certificates that make up the chain for the certificate + // that's being imported. + // + // CertificateChain is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by ImportCertificateInput's + // String and GoString methods. + CertificateChain *string `min:"1" type:"string" sensitive:"true"` + + // A short description that helps identify the certificate. + Description *string `min:"1" type:"string"` + + // An optional date that specifies when the certificate becomes inactive. + InactiveDate *time.Time `type:"timestamp"` + + // The file that contains the private key for the certificate that's being imported. + // + // PrivateKey is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by ImportCertificateInput's + // String and GoString methods. + PrivateKey *string `min:"1" type:"string" sensitive:"true"` + + // Key-value pairs that can be used to group and search for certificates. + Tags []*Tag `min:"1" type:"list"` - // A unique identifier for the workflow. + // Specifies whether this certificate is used for signing or encryption. // - // WorkflowId is a required field - WorkflowId *string `min:"19" type:"string" required:"true"` + // Usage is a required field + Usage *string `type:"string" required:"true" enum:"CertificateUsageType"` } // String returns the string representation. @@ -5922,7 +11333,7 @@ type DescribeWorkflowInput 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 DescribeWorkflowInput) String() string { +func (s ImportCertificateInput) String() string { return awsutil.Prettify(s) } @@ -5931,18 +11342,43 @@ func (s DescribeWorkflowInput) 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 DescribeWorkflowInput) GoString() string { +func (s ImportCertificateInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeWorkflowInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeWorkflowInput"} - if s.WorkflowId == nil { - invalidParams.Add(request.NewErrParamRequired("WorkflowId")) +func (s *ImportCertificateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ImportCertificateInput"} + if s.Certificate == nil { + invalidParams.Add(request.NewErrParamRequired("Certificate")) } - if s.WorkflowId != nil && len(*s.WorkflowId) < 19 { - invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 19)) + if s.Certificate != nil && len(*s.Certificate) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Certificate", 1)) + } + if s.CertificateChain != nil && len(*s.CertificateChain) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CertificateChain", 1)) + } + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.PrivateKey != nil && len(*s.PrivateKey) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PrivateKey", 1)) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.Usage == nil { + invalidParams.Add(request.NewErrParamRequired("Usage")) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -5951,19 +11387,62 @@ func (s *DescribeWorkflowInput) Validate() error { return nil } -// SetWorkflowId sets the WorkflowId field's value. -func (s *DescribeWorkflowInput) SetWorkflowId(v string) *DescribeWorkflowInput { - s.WorkflowId = &v +// SetActiveDate sets the ActiveDate field's value. +func (s *ImportCertificateInput) SetActiveDate(v time.Time) *ImportCertificateInput { + s.ActiveDate = &v return s } -type DescribeWorkflowOutput struct { +// SetCertificate sets the Certificate field's value. +func (s *ImportCertificateInput) SetCertificate(v string) *ImportCertificateInput { + s.Certificate = &v + return s +} + +// SetCertificateChain sets the CertificateChain field's value. +func (s *ImportCertificateInput) SetCertificateChain(v string) *ImportCertificateInput { + s.CertificateChain = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *ImportCertificateInput) SetDescription(v string) *ImportCertificateInput { + s.Description = &v + return s +} + +// SetInactiveDate sets the InactiveDate field's value. +func (s *ImportCertificateInput) SetInactiveDate(v time.Time) *ImportCertificateInput { + s.InactiveDate = &v + return s +} + +// SetPrivateKey sets the PrivateKey field's value. +func (s *ImportCertificateInput) SetPrivateKey(v string) *ImportCertificateInput { + s.PrivateKey = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *ImportCertificateInput) SetTags(v []*Tag) *ImportCertificateInput { + s.Tags = v + return s +} + +// SetUsage sets the Usage field's value. +func (s *ImportCertificateInput) SetUsage(v string) *ImportCertificateInput { + s.Usage = &v + return s +} + +type ImportCertificateOutput struct { _ struct{} `type:"structure"` - // The structure that contains the details of the workflow. + // An array of identifiers for the imported certificates. You use this identifier + // for working with profiles and partner profiles. // - // Workflow is a required field - Workflow *DescribedWorkflow `type:"structure" required:"true"` + // CertificateId is a required field + CertificateId *string `min:"22" type:"string" required:"true"` } // String returns the string representation. @@ -5971,7 +11450,7 @@ type DescribeWorkflowOutput 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 DescribeWorkflowOutput) String() string { +func (s ImportCertificateOutput) String() string { return awsutil.Prettify(s) } @@ -5980,86 +11459,35 @@ func (s DescribeWorkflowOutput) 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 DescribeWorkflowOutput) GoString() string { +func (s ImportCertificateOutput) GoString() string { return s.String() } -// SetWorkflow sets the Workflow field's value. -func (s *DescribeWorkflowOutput) SetWorkflow(v *DescribedWorkflow) *DescribeWorkflowOutput { - s.Workflow = v +// SetCertificateId sets the CertificateId field's value. +func (s *ImportCertificateOutput) SetCertificateId(v string) *ImportCertificateOutput { + s.CertificateId = &v return s } -// Describes the properties of the access that was specified. -type DescribedAccess struct { +type ImportSshPublicKeyInput struct { _ struct{} `type:"structure"` - // A unique identifier that is required to identify specific groups within your - // directory. The users of the group that you associate have access to your - // Amazon S3 or Amazon EFS resources over the enabled protocols using Amazon - // Web Services Transfer Family. If you know the group name, you can view the - // SID values by running the following command using Windows PowerShell. - // - // Get-ADGroup -Filter {samAccountName -like "YourGroupName*"} -Properties * - // | Select SamAccountName,ObjectSid - // - // In that command, replace YourGroupName with the name of your Active Directory - // group. + // A system-assigned unique identifier for a server. // - // The regex used to validate this parameter is a string of characters consisting - // of uppercase and lowercase alphanumeric characters with no spaces. You can - // also include underscores or any of the following characters: =,.@:/- - ExternalId *string `min:"1" type:"string"` + // ServerId is a required field + ServerId *string `min:"19" type:"string" required:"true"` - // The landing directory (folder) for a user when they log in to the server - // using the client. + // The public key portion of an SSH key pair. // - // A HomeDirectory example is /bucket_name/home/mydirectory. - HomeDirectory *string `type:"string"` - - // Logical directory mappings that specify what Amazon S3 or Amazon EFS paths - // and keys should be visible to your user and how you want to make them visible. - // You must specify the Entry and Target pair, where Entry shows how the path - // is made visible and Target is the actual Amazon S3 or Amazon EFS path. If - // you only specify a target, it is displayed as is. You also must ensure that - // your Amazon Web Services Identity and Access Management (IAM) role provides - // access to paths in Target. This value can only be set when HomeDirectoryType - // is set to LOGICAL. + // Transfer Family accepts RSA, ECDSA, and ED25519 keys. // - // In most cases, you can use this value instead of the session policy to lock - // down the associated access to the designated home directory ("chroot"). To - // do this, you can set Entry to '/' and set Target to the HomeDirectory parameter - // value. - HomeDirectoryMappings []*HomeDirectoryMapEntry `min:"1" type:"list"` - - // The type of landing directory (folder) you want your users' home directory - // to be when they log into the server. If you set it to PATH, the user will - // see the absolute Amazon S3 bucket or EFS paths as is in their file transfer - // protocol clients. If you set it LOGICAL, you need to provide mappings in - // the HomeDirectoryMappings for how you want to make Amazon S3 or EFS paths - // visible to your users. - HomeDirectoryType *string `type:"string" enum:"HomeDirectoryType"` - - // A session policy for your user so that you can use the same IAM role across - // multiple users. This policy scopes down user access to portions of their - // Amazon S3 bucket. Variables that you can use inside this policy include ${Transfer:UserName}, - // ${Transfer:HomeDirectory}, and ${Transfer:HomeBucket}. - Policy *string `type:"string"` - - // The full POSIX identity, including user ID (Uid), group ID (Gid), and any - // secondary groups IDs (SecondaryGids), that controls your users' access to - // your Amazon EFS file systems. The POSIX permissions that are set on files - // and directories in your file system determine the level of access your users - // get when transferring files into and out of your Amazon EFS file systems. - PosixProfile *PosixProfile `type:"structure"` + // SshPublicKeyBody is a required field + SshPublicKeyBody *string `type:"string" required:"true"` - // Specifies the Amazon Resource Name (ARN) of the IAM role that controls your - // users' access to your Amazon S3 bucket or EFS file system. The policies attached - // to this role determine the level of access that you want to provide your - // users when transferring files into and out of your Amazon S3 bucket or EFS - // file system. The IAM role should also contain a trust relationship that allows - // the server to access your resources when servicing your users' transfer requests. - Role *string `min:"20" type:"string"` + // The name of the user account that is assigned to one or more servers. + // + // UserName is a required field + UserName *string `min:"3" type:"string" required:"true"` } // String returns the string representation. @@ -6067,7 +11495,7 @@ type DescribedAccess 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 DescribedAccess) String() string { +func (s ImportSshPublicKeyInput) String() string { return awsutil.Prettify(s) } @@ -6076,88 +11504,121 @@ func (s DescribedAccess) 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 DescribedAccess) GoString() string { +func (s ImportSshPublicKeyInput) GoString() string { return s.String() } -// SetExternalId sets the ExternalId field's value. -func (s *DescribedAccess) SetExternalId(v string) *DescribedAccess { - s.ExternalId = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *ImportSshPublicKeyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ImportSshPublicKeyInput"} + if s.ServerId == nil { + invalidParams.Add(request.NewErrParamRequired("ServerId")) + } + if s.ServerId != nil && len(*s.ServerId) < 19 { + invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) + } + if s.SshPublicKeyBody == nil { + invalidParams.Add(request.NewErrParamRequired("SshPublicKeyBody")) + } + if s.UserName == nil { + invalidParams.Add(request.NewErrParamRequired("UserName")) + } + if s.UserName != nil && len(*s.UserName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("UserName", 3)) + } -// SetHomeDirectory sets the HomeDirectory field's value. -func (s *DescribedAccess) SetHomeDirectory(v string) *DescribedAccess { - s.HomeDirectory = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetHomeDirectoryMappings sets the HomeDirectoryMappings field's value. -func (s *DescribedAccess) SetHomeDirectoryMappings(v []*HomeDirectoryMapEntry) *DescribedAccess { - s.HomeDirectoryMappings = v +// SetServerId sets the ServerId field's value. +func (s *ImportSshPublicKeyInput) SetServerId(v string) *ImportSshPublicKeyInput { + s.ServerId = &v return s } -// SetHomeDirectoryType sets the HomeDirectoryType field's value. -func (s *DescribedAccess) SetHomeDirectoryType(v string) *DescribedAccess { - s.HomeDirectoryType = &v +// SetSshPublicKeyBody sets the SshPublicKeyBody field's value. +func (s *ImportSshPublicKeyInput) SetSshPublicKeyBody(v string) *ImportSshPublicKeyInput { + s.SshPublicKeyBody = &v return s } -// SetPolicy sets the Policy field's value. -func (s *DescribedAccess) SetPolicy(v string) *DescribedAccess { - s.Policy = &v +// SetUserName sets the UserName field's value. +func (s *ImportSshPublicKeyInput) SetUserName(v string) *ImportSshPublicKeyInput { + s.UserName = &v return s } -// SetPosixProfile sets the PosixProfile field's value. -func (s *DescribedAccess) SetPosixProfile(v *PosixProfile) *DescribedAccess { - s.PosixProfile = v - return s -} +// Identifies the user, the server they belong to, and the identifier of the +// SSH public key associated with that user. A user can have more than one key +// on each server that they are associated with. +type ImportSshPublicKeyOutput struct { + _ struct{} `type:"structure"` -// SetRole sets the Role field's value. -func (s *DescribedAccess) SetRole(v string) *DescribedAccess { - s.Role = &v - return s -} + // A system-assigned unique identifier for a server. + // + // ServerId is a required field + ServerId *string `min:"19" type:"string" required:"true"` -// The details for an execution object. -type DescribedExecution struct { - _ struct{} `type:"structure"` + // The name given to a public key by the system that was imported. + // + // SshPublicKeyId is a required field + SshPublicKeyId *string `min:"21" type:"string" required:"true"` - // A unique identifier for the execution of a workflow. - ExecutionId *string `min:"36" type:"string"` + // A user name assigned to the ServerID value that you specified. + // + // UserName is a required field + UserName *string `min:"3" type:"string" required:"true"` +} - // The IAM role associated with the execution. - ExecutionRole *string `min:"20" 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 ImportSshPublicKeyOutput) String() string { + return awsutil.Prettify(s) +} - // A structure that describes the Amazon S3 or EFS file location. This is the - // file location when the execution begins: if the file is being copied, this - // is the initial (as opposed to destination) file location. - InitialFileLocation *FileLocation `type:"structure"` +// 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 ImportSshPublicKeyOutput) GoString() string { + return s.String() +} - // The IAM logging role associated with the execution. - LoggingConfiguration *LoggingConfiguration `type:"structure"` +// SetServerId sets the ServerId field's value. +func (s *ImportSshPublicKeyOutput) SetServerId(v string) *ImportSshPublicKeyOutput { + s.ServerId = &v + return s +} - // The full POSIX identity, including user ID (Uid), group ID (Gid), and any - // secondary groups IDs (SecondaryGids), that controls your users' access to - // your Amazon EFS file systems. The POSIX permissions that are set on files - // and directories in your file system determine the level of access your users - // get when transferring files into and out of your Amazon EFS file systems. - PosixProfile *PosixProfile `type:"structure"` +// SetSshPublicKeyId sets the SshPublicKeyId field's value. +func (s *ImportSshPublicKeyOutput) SetSshPublicKeyId(v string) *ImportSshPublicKeyOutput { + s.SshPublicKeyId = &v + return s +} - // A structure that describes the execution results. This includes a list of - // the steps along with the details of each step, error type and message (if - // any), and the OnExceptionSteps structure. - Results *ExecutionResults `type:"structure"` +// SetUserName sets the UserName field's value. +func (s *ImportSshPublicKeyOutput) SetUserName(v string) *ImportSshPublicKeyOutput { + s.UserName = &v + return s +} - // A container object for the session details associated with a workflow. - ServiceMetadata *ServiceMetadata `type:"structure"` +// Specifies the location for the file being copied. Only applicable for the +// Copy type of workflow steps. +type InputFileLocation struct { + _ struct{} `type:"structure"` - // The status is one of the execution. Can be in progress, completed, exception - // encountered, or handling the exception. - Status *string `type:"string" enum:"ExecutionStatus"` + // Reserved for future use. + EfsFileLocation *EfsFileLocation `type:"structure"` + + // Specifies the details for the S3 file being copied. + S3FileLocation *S3InputFileLocation `type:"structure"` } // String returns the string representation. @@ -6165,7 +11626,7 @@ type DescribedExecution 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 DescribedExecution) String() string { +func (s InputFileLocation) String() string { return awsutil.Prettify(s) } @@ -6174,87 +11635,49 @@ func (s DescribedExecution) 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 DescribedExecution) GoString() string { +func (s InputFileLocation) GoString() string { return s.String() } -// SetExecutionId sets the ExecutionId field's value. -func (s *DescribedExecution) SetExecutionId(v string) *DescribedExecution { - s.ExecutionId = &v - return s -} - -// SetExecutionRole sets the ExecutionRole field's value. -func (s *DescribedExecution) SetExecutionRole(v string) *DescribedExecution { - s.ExecutionRole = &v - return s -} - -// SetInitialFileLocation sets the InitialFileLocation field's value. -func (s *DescribedExecution) SetInitialFileLocation(v *FileLocation) *DescribedExecution { - s.InitialFileLocation = v - return s -} - -// SetLoggingConfiguration sets the LoggingConfiguration field's value. -func (s *DescribedExecution) SetLoggingConfiguration(v *LoggingConfiguration) *DescribedExecution { - s.LoggingConfiguration = v - return s -} - -// SetPosixProfile sets the PosixProfile field's value. -func (s *DescribedExecution) SetPosixProfile(v *PosixProfile) *DescribedExecution { - s.PosixProfile = v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *InputFileLocation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputFileLocation"} + if s.EfsFileLocation != nil { + if err := s.EfsFileLocation.Validate(); err != nil { + invalidParams.AddNested("EfsFileLocation", err.(request.ErrInvalidParams)) + } + } + if s.S3FileLocation != nil { + if err := s.S3FileLocation.Validate(); err != nil { + invalidParams.AddNested("S3FileLocation", err.(request.ErrInvalidParams)) + } + } -// SetResults sets the Results field's value. -func (s *DescribedExecution) SetResults(v *ExecutionResults) *DescribedExecution { - s.Results = v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetServiceMetadata sets the ServiceMetadata field's value. -func (s *DescribedExecution) SetServiceMetadata(v *ServiceMetadata) *DescribedExecution { - s.ServiceMetadata = v +// SetEfsFileLocation sets the EfsFileLocation field's value. +func (s *InputFileLocation) SetEfsFileLocation(v *EfsFileLocation) *InputFileLocation { + s.EfsFileLocation = v return s } -// SetStatus sets the Status field's value. -func (s *DescribedExecution) SetStatus(v string) *DescribedExecution { - s.Status = &v +// SetS3FileLocation sets the S3FileLocation field's value. +func (s *InputFileLocation) SetS3FileLocation(v *S3InputFileLocation) *InputFileLocation { + s.S3FileLocation = v return s } -// Describes the properties of a security policy that was specified. For more -// information about security policies, see Working with security policies (https://docs.aws.amazon.com/transfer/latest/userguide/security-policies.html). -type DescribedSecurityPolicy struct { - _ struct{} `type:"structure"` - - // Specifies whether this policy enables Federal Information Processing Standards - // (FIPS). - Fips *bool `type:"boolean"` - - // Specifies the name of the security policy that is attached to the server. - // - // SecurityPolicyName is a required field - SecurityPolicyName *string `type:"string" required:"true"` - - // Specifies the enabled Secure Shell (SSH) cipher encryption algorithms in - // the security policy that is attached to the server. - SshCiphers []*string `type:"list"` - - // Specifies the enabled SSH key exchange (KEX) encryption algorithms in the - // security policy that is attached to the server. - SshKexs []*string `type:"list"` - - // Specifies the enabled SSH message authentication code (MAC) encryption algorithms - // in the security policy that is attached to the server. - SshMacs []*string `type:"list"` +// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer +// Family service. +type InternalServiceError struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // Specifies the enabled Transport Layer Security (TLS) cipher encryption algorithms - // in the security policy that is attached to the server. - TlsCiphers []*string `type:"list"` + Message_ *string `locationName:"Message" type:"string"` } // String returns the string representation. @@ -6262,7 +11685,7 @@ type DescribedSecurityPolicy 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 DescribedSecurityPolicy) String() string { +func (s InternalServiceError) String() string { return awsutil.Prettify(s) } @@ -6271,172 +11694,54 @@ func (s DescribedSecurityPolicy) 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 DescribedSecurityPolicy) GoString() string { +func (s InternalServiceError) GoString() string { return s.String() } -// SetFips sets the Fips field's value. -func (s *DescribedSecurityPolicy) SetFips(v bool) *DescribedSecurityPolicy { - s.Fips = &v - return s +func newErrorInternalServiceError(v protocol.ResponseMetadata) error { + return &InternalServiceError{ + RespMetadata: v, + } } -// SetSecurityPolicyName sets the SecurityPolicyName field's value. -func (s *DescribedSecurityPolicy) SetSecurityPolicyName(v string) *DescribedSecurityPolicy { - s.SecurityPolicyName = &v - return s +// Code returns the exception type name. +func (s *InternalServiceError) Code() string { + return "InternalServiceError" } -// SetSshCiphers sets the SshCiphers field's value. -func (s *DescribedSecurityPolicy) SetSshCiphers(v []*string) *DescribedSecurityPolicy { - s.SshCiphers = v - return s +// Message returns the exception's message. +func (s *InternalServiceError) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// SetSshKexs sets the SshKexs field's value. -func (s *DescribedSecurityPolicy) SetSshKexs(v []*string) *DescribedSecurityPolicy { - s.SshKexs = v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InternalServiceError) OrigErr() error { + return nil } -// SetSshMacs sets the SshMacs field's value. -func (s *DescribedSecurityPolicy) SetSshMacs(v []*string) *DescribedSecurityPolicy { - s.SshMacs = v - return s +func (s *InternalServiceError) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// SetTlsCiphers sets the TlsCiphers field's value. -func (s *DescribedSecurityPolicy) SetTlsCiphers(v []*string) *DescribedSecurityPolicy { - s.TlsCiphers = v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *InternalServiceError) StatusCode() int { + return s.RespMetadata.StatusCode } -// Describes the properties of a file transfer protocol-enabled server that -// was specified. -type DescribedServer struct { - _ struct{} `type:"structure"` - - // Specifies the unique Amazon Resource Name (ARN) of the server. - // - // Arn is a required field - Arn *string `min:"20" type:"string" required:"true"` - - // Specifies the ARN of the Amazon Web ServicesCertificate Manager (ACM) certificate. - // Required when Protocols is set to FTPS. - Certificate *string `type:"string"` - - // Specifies the domain of the storage system that is used for file transfers. - Domain *string `type:"string" enum:"Domain"` - - // The virtual private cloud (VPC) endpoint settings that are configured for - // your server. When you host your endpoint within your VPC, you can make it - // accessible only to resources within your VPC, or you can attach Elastic IP - // addresses and make it accessible to clients over the internet. Your VPC's - // default security groups are automatically assigned to your endpoint. - EndpointDetails *EndpointDetails `type:"structure"` - - // Defines the type of endpoint that your server is connected to. If your server - // is connected to a VPC endpoint, your server isn't accessible over the public - // internet. - EndpointType *string `type:"string" enum:"EndpointType"` - - // Specifies the Base64-encoded SHA256 fingerprint of the server's host key. - // This value is equivalent to the output of the ssh-keygen -l -f my-new-server-key - // command. - HostKeyFingerprint *string `type:"string"` - - // Specifies information to call a customer-supplied authentication API. This - // field is not populated when the IdentityProviderType of a server is AWS_DIRECTORY_SERVICE - // or SERVICE_MANAGED. - IdentityProviderDetails *IdentityProviderDetails `type:"structure"` - - // Specifies the mode of authentication for a server. The default value is SERVICE_MANAGED, - // which allows you to store and access user credentials within the Amazon Web - // Services Transfer Family service. - // - // Use AWS_DIRECTORY_SERVICE to provide access to Active Directory groups in - // Amazon Web Services Managed Active Directory or Microsoft Active Directory - // in your on-premises environment or in Amazon Web Services using AD Connectors. - // This option also requires you to provide a Directory ID using the IdentityProviderDetails - // parameter. - // - // Use the API_GATEWAY value to integrate with an identity provider of your - // choosing. The API_GATEWAY setting requires you to provide an API Gateway - // endpoint URL to call for authentication using the IdentityProviderDetails - // parameter. - // - // Use the AWS_LAMBDA value to directly use a Lambda function as your identity - // provider. If you choose this value, you must specify the ARN for the lambda - // function in the Function parameter for the IdentityProviderDetails data type. - IdentityProviderType *string `type:"string" enum:"IdentityProviderType"` - - // Specifies the Amazon Resource Name (ARN) of the Amazon Web Services Identity - // and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch - // logging for Amazon S3 or Amazon EFS events. When set, user activity can be - // viewed in your CloudWatch logs. - LoggingRole *string `min:"20" type:"string"` - - // Specify a string to display when users connect to a server. This string is - // displayed after the user authenticates. - // - // The SFTP protocol does not support post-authentication display banners. - PostAuthenticationLoginBanner *string `type:"string"` - - // Specify a string to display when users connect to a server. This string is - // displayed before the user authenticates. For example, the following banner - // displays details about using the system. - // - // This system is for the use of authorized users only. Individuals using this - // computer system without authority, or in excess of their authority, are subject - // to having all of their activities on this system monitored and recorded by - // system personnel. - PreAuthenticationLoginBanner *string `type:"string"` - - // The protocol settings that are configured for your server. - // - // Use the PassiveIp parameter to indicate passive mode. Enter a single IPv4 - // address, such as the public IP address of a firewall, router, or load balancer. - ProtocolDetails *ProtocolDetails `type:"structure"` - - // Specifies the file transfer protocol or protocols over which your file transfer - // protocol client can connect to your server's endpoint. The available protocols - // are: - // - // * SFTP (Secure Shell (SSH) File Transfer Protocol): File transfer over - // SSH - // - // * FTPS (File Transfer Protocol Secure): File transfer with TLS encryption - // - // * FTP (File Transfer Protocol): Unencrypted file transfer - Protocols []*string `min:"1" type:"list" enum:"Protocol"` - - // Specifies the name of the security policy that is attached to the server. - SecurityPolicyName *string `type:"string"` - - // Specifies the unique system-assigned identifier for a server that you instantiate. - ServerId *string `min:"19" type:"string"` - - // Specifies the condition of a server for the server that was described. A - // value of ONLINE indicates that the server can accept jobs and transfer files. - // A State value of OFFLINE means that the server cannot perform file transfer - // operations. - // - // The states of STARTING and STOPPING indicate that the server is in an intermediate - // state, either not fully able to respond, or not fully offline. The values - // of START_FAILED or STOP_FAILED can indicate an error condition. - State *string `type:"string" enum:"State"` - - // Specifies the key-value pairs that you can use to search for and group servers - // that were assigned to the server that was described. - Tags []*Tag `min:"1" type:"list"` +// RequestID returns the service's response RequestID for request. +func (s *InternalServiceError) RequestID() string { + return s.RespMetadata.RequestID +} - // Specifies the number of users that are assigned to a server you specified - // with the ServerId. - UserCount *int64 `type:"integer"` +// The NextToken parameter that was passed is invalid. +type InvalidNextTokenException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // Specifies the workflow ID for the workflow to assign and the execution role - // used for executing the workflow. - WorkflowDetails *WorkflowDetails `type:"structure"` + Message_ *string `locationName:"Message" type:"string"` } // String returns the string representation. @@ -6444,7 +11749,7 @@ type DescribedServer 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 DescribedServer) String() string { +func (s InvalidNextTokenException) String() string { return awsutil.Prettify(s) } @@ -6453,196 +11758,207 @@ func (s DescribedServer) 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 DescribedServer) GoString() string { +func (s InvalidNextTokenException) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *DescribedServer) SetArn(v string) *DescribedServer { - s.Arn = &v - return s -} - -// SetCertificate sets the Certificate field's value. -func (s *DescribedServer) SetCertificate(v string) *DescribedServer { - s.Certificate = &v - return s +func newErrorInvalidNextTokenException(v protocol.ResponseMetadata) error { + return &InvalidNextTokenException{ + RespMetadata: v, + } } -// SetDomain sets the Domain field's value. -func (s *DescribedServer) SetDomain(v string) *DescribedServer { - s.Domain = &v - return s +// Code returns the exception type name. +func (s *InvalidNextTokenException) Code() string { + return "InvalidNextTokenException" } -// SetEndpointDetails sets the EndpointDetails field's value. -func (s *DescribedServer) SetEndpointDetails(v *EndpointDetails) *DescribedServer { - s.EndpointDetails = v - return s +// Message returns the exception's message. +func (s *InvalidNextTokenException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// SetEndpointType sets the EndpointType field's value. -func (s *DescribedServer) SetEndpointType(v string) *DescribedServer { - s.EndpointType = &v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidNextTokenException) OrigErr() error { + return nil } -// SetHostKeyFingerprint sets the HostKeyFingerprint field's value. -func (s *DescribedServer) SetHostKeyFingerprint(v string) *DescribedServer { - s.HostKeyFingerprint = &v - return s +func (s *InvalidNextTokenException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// SetIdentityProviderDetails sets the IdentityProviderDetails field's value. -func (s *DescribedServer) SetIdentityProviderDetails(v *IdentityProviderDetails) *DescribedServer { - s.IdentityProviderDetails = v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidNextTokenException) StatusCode() int { + return s.RespMetadata.StatusCode } -// SetIdentityProviderType sets the IdentityProviderType field's value. -func (s *DescribedServer) SetIdentityProviderType(v string) *DescribedServer { - s.IdentityProviderType = &v - return s +// RequestID returns the service's response RequestID for request. +func (s *InvalidNextTokenException) RequestID() string { + return s.RespMetadata.RequestID } -// SetLoggingRole sets the LoggingRole field's value. -func (s *DescribedServer) SetLoggingRole(v string) *DescribedServer { - s.LoggingRole = &v - return s -} +// This exception is thrown when the client submits a malformed request. +type InvalidRequestException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` -// SetPostAuthenticationLoginBanner sets the PostAuthenticationLoginBanner field's value. -func (s *DescribedServer) SetPostAuthenticationLoginBanner(v string) *DescribedServer { - s.PostAuthenticationLoginBanner = &v - return s + Message_ *string `locationName:"Message" type:"string"` } -// SetPreAuthenticationLoginBanner sets the PreAuthenticationLoginBanner field's value. -func (s *DescribedServer) SetPreAuthenticationLoginBanner(v string) *DescribedServer { - s.PreAuthenticationLoginBanner = &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 InvalidRequestException) String() string { + return awsutil.Prettify(s) } -// SetProtocolDetails sets the ProtocolDetails field's value. -func (s *DescribedServer) SetProtocolDetails(v *ProtocolDetails) *DescribedServer { - s.ProtocolDetails = 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 InvalidRequestException) GoString() string { + return s.String() } -// SetProtocols sets the Protocols field's value. -func (s *DescribedServer) SetProtocols(v []*string) *DescribedServer { - s.Protocols = v - return s +func newErrorInvalidRequestException(v protocol.ResponseMetadata) error { + return &InvalidRequestException{ + RespMetadata: v, + } } -// SetSecurityPolicyName sets the SecurityPolicyName field's value. -func (s *DescribedServer) SetSecurityPolicyName(v string) *DescribedServer { - s.SecurityPolicyName = &v - return s +// Code returns the exception type name. +func (s *InvalidRequestException) Code() string { + return "InvalidRequestException" } -// SetServerId sets the ServerId field's value. -func (s *DescribedServer) SetServerId(v string) *DescribedServer { - s.ServerId = &v - return s +// Message returns the exception's message. +func (s *InvalidRequestException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// SetState sets the State field's value. -func (s *DescribedServer) SetState(v string) *DescribedServer { - s.State = &v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidRequestException) OrigErr() error { + return nil } -// SetTags sets the Tags field's value. -func (s *DescribedServer) SetTags(v []*Tag) *DescribedServer { - s.Tags = v - return s +func (s *InvalidRequestException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// SetUserCount sets the UserCount field's value. -func (s *DescribedServer) SetUserCount(v int64) *DescribedServer { - s.UserCount = &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 } -// SetWorkflowDetails sets the WorkflowDetails field's value. -func (s *DescribedServer) SetWorkflowDetails(v *WorkflowDetails) *DescribedServer { - s.WorkflowDetails = v - return s +// RequestID returns the service's response RequestID for request. +func (s *InvalidRequestException) RequestID() string { + return s.RespMetadata.RequestID } -// Describes the properties of a user that was specified. -type DescribedUser struct { +type ListAccessesInput struct { _ struct{} `type:"structure"` - // Specifies the unique Amazon Resource Name (ARN) for the user that was requested - // to be described. - // - // Arn is a required field - Arn *string `min:"20" type:"string" required:"true"` + // Specifies the maximum number of access SIDs to return. + MaxResults *int64 `min:"1" type:"integer"` - // The landing directory (folder) for a user when they log in to the server - // using the client. - // - // A HomeDirectory example is /bucket_name/home/mydirectory. - HomeDirectory *string `type:"string"` + // When you can get additional results from the ListAccesses call, a NextToken + // parameter is returned in the output. You can then pass in a subsequent command + // to the NextToken parameter to continue listing additional accesses. + NextToken *string `min:"1" type:"string"` - // Logical directory mappings that specify what Amazon S3 or Amazon EFS paths - // and keys should be visible to your user and how you want to make them visible. - // You must specify the Entry and Target pair, where Entry shows how the path - // is made visible and Target is the actual Amazon S3 or Amazon EFS path. If - // you only specify a target, it is displayed as is. You also must ensure that - // your Amazon Web Services Identity and Access Management (IAM) role provides - // access to paths in Target. This value can only be set when HomeDirectoryType - // is set to LOGICAL. + // A system-assigned unique identifier for a server that has users assigned + // to it. // - // In most cases, you can use this value instead of the session policy to lock - // your user down to the designated home directory ("chroot"). To do this, you - // can set Entry to '/' and set Target to the HomeDirectory parameter value. - HomeDirectoryMappings []*HomeDirectoryMapEntry `min:"1" type:"list"` + // ServerId is a required field + ServerId *string `min:"19" type:"string" required:"true"` +} - // The type of landing directory (folder) you want your users' home directory - // to be when they log into the server. If you set it to PATH, the user will - // see the absolute Amazon S3 bucket or EFS paths as is in their file transfer - // protocol clients. If you set it LOGICAL, you need to provide mappings in - // the HomeDirectoryMappings for how you want to make Amazon S3 or EFS paths - // visible to your users. - HomeDirectoryType *string `type:"string" enum:"HomeDirectoryType"` +// 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 ListAccessesInput) String() string { + return awsutil.Prettify(s) +} - // A session policy for your user so that you can use the same IAM role across - // multiple users. This policy scopes down user access to portions of their - // Amazon S3 bucket. Variables that you can use inside this policy include ${Transfer:UserName}, - // ${Transfer:HomeDirectory}, and ${Transfer:HomeBucket}. - Policy *string `type:"string"` +// 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 ListAccessesInput) GoString() string { + return s.String() +} - // Specifies the full POSIX identity, including user ID (Uid), group ID (Gid), - // and any secondary groups IDs (SecondaryGids), that controls your users' access - // to your Amazon Elastic File System (Amazon EFS) file systems. The POSIX permissions - // that are set on files and directories in your file system determine the level - // of access your users get when transferring files into and out of your Amazon - // EFS file systems. - PosixProfile *PosixProfile `type:"structure"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListAccessesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListAccessesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.ServerId == nil { + invalidParams.Add(request.NewErrParamRequired("ServerId")) + } + if s.ServerId != nil && len(*s.ServerId) < 19 { + invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListAccessesInput) SetMaxResults(v int64) *ListAccessesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAccessesInput) SetNextToken(v string) *ListAccessesInput { + s.NextToken = &v + return s +} + +// SetServerId sets the ServerId field's value. +func (s *ListAccessesInput) SetServerId(v string) *ListAccessesInput { + s.ServerId = &v + return s +} - // Specifies the Amazon Resource Name (ARN) of the IAM role that controls your - // users' access to your Amazon S3 bucket or EFS file system. The policies attached - // to this role determine the level of access that you want to provide your - // users when transferring files into and out of your Amazon S3 bucket or EFS - // file system. The IAM role should also contain a trust relationship that allows - // the server to access your resources when servicing your users' transfer requests. - Role *string `min:"20" type:"string"` +type ListAccessesOutput struct { + _ struct{} `type:"structure"` - // Specifies the public key portion of the Secure Shell (SSH) keys stored for - // the described user. - SshPublicKeys []*SshPublicKey `type:"list"` + // Returns the accesses and their properties for the ServerId value that you + // specify. + // + // Accesses is a required field + Accesses []*ListedAccess `type:"list" required:"true"` - // Specifies the key-value pairs for the user requested. Tag can be used to - // search for and group users for a variety of purposes. - Tags []*Tag `min:"1" type:"list"` + // When you can get additional results from the ListAccesses call, a NextToken + // parameter is returned in the output. You can then pass in a subsequent command + // to the NextToken parameter to continue listing additional accesses. + NextToken *string `min:"1" type:"string"` - // Specifies the name of the user that was requested to be described. User names - // are used for authentication purposes. This is the string that will be used - // by your user when they log in to your server. - UserName *string `min:"3" type:"string"` + // A system-assigned unique identifier for a server that has users assigned + // to it. + // + // ServerId is a required field + ServerId *string `min:"19" type:"string" required:"true"` } // String returns the string representation. @@ -6650,7 +11966,7 @@ type DescribedUser 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 DescribedUser) String() string { +func (s ListAccessesOutput) String() string { return awsutil.Prettify(s) } @@ -6659,95 +11975,43 @@ func (s DescribedUser) 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 DescribedUser) GoString() string { +func (s ListAccessesOutput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *DescribedUser) SetArn(v string) *DescribedUser { - s.Arn = &v - return s -} - -// SetHomeDirectory sets the HomeDirectory field's value. -func (s *DescribedUser) SetHomeDirectory(v string) *DescribedUser { - s.HomeDirectory = &v - return s -} - -// SetHomeDirectoryMappings sets the HomeDirectoryMappings field's value. -func (s *DescribedUser) SetHomeDirectoryMappings(v []*HomeDirectoryMapEntry) *DescribedUser { - s.HomeDirectoryMappings = v - return s -} - -// SetHomeDirectoryType sets the HomeDirectoryType field's value. -func (s *DescribedUser) SetHomeDirectoryType(v string) *DescribedUser { - s.HomeDirectoryType = &v - return s -} - -// SetPolicy sets the Policy field's value. -func (s *DescribedUser) SetPolicy(v string) *DescribedUser { - s.Policy = &v - return s -} - -// SetPosixProfile sets the PosixProfile field's value. -func (s *DescribedUser) SetPosixProfile(v *PosixProfile) *DescribedUser { - s.PosixProfile = v - return s -} - -// SetRole sets the Role field's value. -func (s *DescribedUser) SetRole(v string) *DescribedUser { - s.Role = &v - return s -} - -// SetSshPublicKeys sets the SshPublicKeys field's value. -func (s *DescribedUser) SetSshPublicKeys(v []*SshPublicKey) *DescribedUser { - s.SshPublicKeys = v +// SetAccesses sets the Accesses field's value. +func (s *ListAccessesOutput) SetAccesses(v []*ListedAccess) *ListAccessesOutput { + s.Accesses = v return s } -// SetTags sets the Tags field's value. -func (s *DescribedUser) SetTags(v []*Tag) *DescribedUser { - s.Tags = v +// SetNextToken sets the NextToken field's value. +func (s *ListAccessesOutput) SetNextToken(v string) *ListAccessesOutput { + s.NextToken = &v return s } -// SetUserName sets the UserName field's value. -func (s *DescribedUser) SetUserName(v string) *DescribedUser { - s.UserName = &v +// SetServerId sets the ServerId field's value. +func (s *ListAccessesOutput) SetServerId(v string) *ListAccessesOutput { + s.ServerId = &v return s } -// Describes the properties of the specified workflow -type DescribedWorkflow struct { +type ListAgreementsInput struct { _ struct{} `type:"structure"` - // Specifies the unique Amazon Resource Name (ARN) for the workflow. - // - // Arn is a required field - Arn *string `min:"20" type:"string" required:"true"` - - // Specifies the text description for the workflow. - Description *string `type:"string"` - - // Specifies the steps (actions) to take if errors are encountered during execution - // of the workflow. - OnExceptionSteps []*WorkflowStep `type:"list"` - - // Specifies the details for the steps that are in the specified workflow. - Steps []*WorkflowStep `type:"list"` + // The maximum number of agreements to return. + MaxResults *int64 `min:"1" type:"integer"` - // Key-value pairs that can be used to group and search for workflows. Tags - // are metadata attached to workflows for any purpose. - Tags []*Tag `min:"1" type:"list"` + // When you can get additional results from the ListAgreements call, a NextToken + // parameter is returned in the output. You can then pass in a subsequent command + // to the NextToken parameter to continue listing additional agreements. + NextToken *string `min:"1" type:"string"` - // A unique identifier for the workflow. - WorkflowId *string `min:"19" type:"string"` + // The identifier of the server for which you want a list of agreements. + // + // ServerId is a required field + ServerId *string `min:"19" type:"string" required:"true"` } // String returns the string representation. @@ -6755,7 +12019,7 @@ type DescribedWorkflow 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 DescribedWorkflow) String() string { +func (s ListAgreementsInput) String() string { return awsutil.Prettify(s) } @@ -6764,55 +12028,61 @@ func (s DescribedWorkflow) 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 DescribedWorkflow) GoString() string { +func (s ListAgreementsInput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *DescribedWorkflow) SetArn(v string) *DescribedWorkflow { - s.Arn = &v - return s -} - -// SetDescription sets the Description field's value. -func (s *DescribedWorkflow) SetDescription(v string) *DescribedWorkflow { - s.Description = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListAgreementsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListAgreementsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.ServerId == nil { + invalidParams.Add(request.NewErrParamRequired("ServerId")) + } + if s.ServerId != nil && len(*s.ServerId) < 19 { + invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) + } -// SetOnExceptionSteps sets the OnExceptionSteps field's value. -func (s *DescribedWorkflow) SetOnExceptionSteps(v []*WorkflowStep) *DescribedWorkflow { - s.OnExceptionSteps = v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetSteps sets the Steps field's value. -func (s *DescribedWorkflow) SetSteps(v []*WorkflowStep) *DescribedWorkflow { - s.Steps = v +// SetMaxResults sets the MaxResults field's value. +func (s *ListAgreementsInput) SetMaxResults(v int64) *ListAgreementsInput { + s.MaxResults = &v return s } -// SetTags sets the Tags field's value. -func (s *DescribedWorkflow) SetTags(v []*Tag) *DescribedWorkflow { - s.Tags = v +// SetNextToken sets the NextToken field's value. +func (s *ListAgreementsInput) SetNextToken(v string) *ListAgreementsInput { + s.NextToken = &v return s } -// SetWorkflowId sets the WorkflowId field's value. -func (s *DescribedWorkflow) SetWorkflowId(v string) *DescribedWorkflow { - s.WorkflowId = &v +// SetServerId sets the ServerId field's value. +func (s *ListAgreementsInput) SetServerId(v string) *ListAgreementsInput { + s.ServerId = &v return s } -// Reserved for future use. -type EfsFileLocation struct { +type ListAgreementsOutput struct { _ struct{} `type:"structure"` - // The ID of the file system, assigned by Amazon EFS. - FileSystemId *string `type:"string"` + // Returns an array, where each item contains the details of an agreement. + // + // Agreements is a required field + Agreements []*ListedAgreement `type:"list" required:"true"` - // The pathname for the folder being used by a workflow. - Path *string `min:"1" type:"string"` + // Returns a token that you can use to call ListAgreements again and receive + // additional results, if there are any. + NextToken *string `min:"1" type:"string"` } // String returns the string representation. @@ -6820,7 +12090,7 @@ type EfsFileLocation 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 EfsFileLocation) String() string { +func (s ListAgreementsOutput) String() string { return awsutil.Prettify(s) } @@ -6829,87 +12099,32 @@ func (s EfsFileLocation) 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 EfsFileLocation) GoString() string { +func (s ListAgreementsOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *EfsFileLocation) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "EfsFileLocation"} - if s.Path != nil && len(*s.Path) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Path", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetFileSystemId sets the FileSystemId field's value. -func (s *EfsFileLocation) SetFileSystemId(v string) *EfsFileLocation { - s.FileSystemId = &v +// SetAgreements sets the Agreements field's value. +func (s *ListAgreementsOutput) SetAgreements(v []*ListedAgreement) *ListAgreementsOutput { + s.Agreements = v return s } -// SetPath sets the Path field's value. -func (s *EfsFileLocation) SetPath(v string) *EfsFileLocation { - s.Path = &v +// SetNextToken sets the NextToken field's value. +func (s *ListAgreementsOutput) SetNextToken(v string) *ListAgreementsOutput { + s.NextToken = &v return s } -// The virtual private cloud (VPC) endpoint settings that are configured for -// your file transfer protocol-enabled server. With a VPC endpoint, you can -// restrict access to your server and resources only within your VPC. To control -// incoming internet traffic, invoke the UpdateServer API and attach an Elastic -// IP address to your server's endpoint. -// -// After May 19, 2021, you won't be able to create a server using EndpointType=VPC_ENDPOINT -// in your Amazon Web Servicesaccount if your account hasn't already done so -// before May 19, 2021. If you have already created servers with EndpointType=VPC_ENDPOINT -// in your Amazon Web Servicesaccount on or before May 19, 2021, you will not -// be affected. After this date, use EndpointType=VPC. -// -// For more information, see https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint. -type EndpointDetails struct { +type ListCertificatesInput struct { _ struct{} `type:"structure"` - // A list of address allocation IDs that are required to attach an Elastic IP - // address to your server's endpoint. - // - // This property can only be set when EndpointType is set to VPC and it is only - // valid in the UpdateServer API. - AddressAllocationIds []*string `type:"list"` - - // A list of security groups IDs that are available to attach to your server's - // endpoint. - // - // This property can only be set when EndpointType is set to VPC. - // - // You can edit the SecurityGroupIds property in the UpdateServer (https://docs.aws.amazon.com/transfer/latest/userguide/API_UpdateServer.html) - // API only if you are changing the EndpointType from PUBLIC or VPC_ENDPOINT - // to VPC. To change security groups associated with your server's VPC endpoint - // after creation, use the Amazon EC2 ModifyVpcEndpoint (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyVpcEndpoint.html) - // API. - SecurityGroupIds []*string `type:"list"` - - // A list of subnet IDs that are required to host your server endpoint in your - // VPC. - // - // This property can only be set when EndpointType is set to VPC. - SubnetIds []*string `type:"list"` - - // The ID of the VPC endpoint. - // - // This property can only be set when EndpointType is set to VPC_ENDPOINT. - // - // For more information, see https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint. - VpcEndpointId *string `min:"22" type:"string"` + // The maximum number of certificates to return. + MaxResults *int64 `min:"1" type:"integer"` - // The VPC ID of the VPC in which a server's endpoint will be hosted. - // - // This property can only be set when EndpointType is set to VPC. - VpcId *string `type:"string"` + // When you can get additional results from the ListCertificates call, a NextToken + // parameter is returned in the output. You can then pass in a subsequent command + // to the NextToken parameter to continue listing additional certificates. + NextToken *string `min:"1" type:"string"` } // String returns the string representation. @@ -6917,7 +12132,7 @@ type EndpointDetails 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 EndpointDetails) String() string { +func (s ListCertificatesInput) String() string { return awsutil.Prettify(s) } @@ -6926,15 +12141,18 @@ func (s EndpointDetails) 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 EndpointDetails) GoString() string { +func (s ListCertificatesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *EndpointDetails) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "EndpointDetails"} - if s.VpcEndpointId != nil && len(*s.VpcEndpointId) < 22 { - invalidParams.Add(request.NewErrParamMinLen("VpcEndpointId", 22)) +func (s *ListCertificatesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListCertificatesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } if invalidParams.Len() > 0 { @@ -6943,74 +12161,29 @@ func (s *EndpointDetails) Validate() error { return nil } -// SetAddressAllocationIds sets the AddressAllocationIds field's value. -func (s *EndpointDetails) SetAddressAllocationIds(v []*string) *EndpointDetails { - s.AddressAllocationIds = v - return s -} - -// SetSecurityGroupIds sets the SecurityGroupIds field's value. -func (s *EndpointDetails) SetSecurityGroupIds(v []*string) *EndpointDetails { - s.SecurityGroupIds = v - return s -} - -// SetSubnetIds sets the SubnetIds field's value. -func (s *EndpointDetails) SetSubnetIds(v []*string) *EndpointDetails { - s.SubnetIds = v - return s -} - -// SetVpcEndpointId sets the VpcEndpointId field's value. -func (s *EndpointDetails) SetVpcEndpointId(v string) *EndpointDetails { - s.VpcEndpointId = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListCertificatesInput) SetMaxResults(v int64) *ListCertificatesInput { + s.MaxResults = &v return s } -// SetVpcId sets the VpcId field's value. -func (s *EndpointDetails) SetVpcId(v string) *EndpointDetails { - s.VpcId = &v +// SetNextToken sets the NextToken field's value. +func (s *ListCertificatesInput) SetNextToken(v string) *ListCertificatesInput { + s.NextToken = &v return s } -// Specifies the error message and type, for an error that occurs during the -// execution of the workflow. -type ExecutionError struct { +type ListCertificatesOutput struct { _ struct{} `type:"structure"` - // Specifies the descriptive message that corresponds to the ErrorType. + // Returns an array of the certificates that are specified in the ListCertificates + // call. // - // Message is a required field - Message *string `type:"string" required:"true"` + // Certificates is a required field + Certificates []*ListedCertificate `type:"list" required:"true"` - // Specifies the error type. - // - // * ALREADY_EXISTS: occurs for a copy step, if the overwrite option is not - // selected and a file with the same name already exists in the target location. - // - // * BAD_REQUEST: a general bad request: for example, a step that attempts - // to tag an EFS file returns BAD_REQUEST, as only S3 files can be tagged. - // - // * CUSTOM_STEP_FAILED: occurs when the custom step provided a callback - // that indicates failure. - // - // * INTERNAL_SERVER_ERROR: a catch-all error that can occur for a variety - // of reasons. - // - // * NOT_FOUND: occurs when a requested entity, for example a source file - // for a copy step, does not exist. - // - // * PERMISSION_DENIED: occurs if your policy does not contain the correct - // permissions to complete one or more of the steps in the workflow. - // - // * TIMEOUT: occurs when the execution times out. You can set the TimeoutSeconds - // for a custom step, anywhere from 1 second to 1800 seconds (30 minutes). - // - // * THROTTLED: occurs if you exceed the new execution refill rate of one - // workflow per second. - // - // Type is a required field - Type *string `type:"string" required:"true" enum:"ExecutionErrorType"` + // Returns the next token, which you can use to list the next certificate. + NextToken *string `min:"1" type:"string"` } // String returns the string representation. @@ -7018,7 +12191,7 @@ type ExecutionError 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 ExecutionError) String() string { +func (s ListCertificatesOutput) String() string { return awsutil.Prettify(s) } @@ -7027,33 +12200,32 @@ func (s ExecutionError) 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 ExecutionError) GoString() string { +func (s ListCertificatesOutput) GoString() string { return s.String() } -// SetMessage sets the Message field's value. -func (s *ExecutionError) SetMessage(v string) *ExecutionError { - s.Message = &v +// SetCertificates sets the Certificates field's value. +func (s *ListCertificatesOutput) SetCertificates(v []*ListedCertificate) *ListCertificatesOutput { + s.Certificates = v return s } -// SetType sets the Type field's value. -func (s *ExecutionError) SetType(v string) *ExecutionError { - s.Type = &v +// SetNextToken sets the NextToken field's value. +func (s *ListCertificatesOutput) SetNextToken(v string) *ListCertificatesOutput { + s.NextToken = &v return s } -// Specifies the steps in the workflow, as well as the steps to execute in case -// of any errors during workflow execution. -type ExecutionResults struct { +type ListConnectorsInput struct { _ struct{} `type:"structure"` - // Specifies the steps (actions) to take if errors are encountered during execution - // of the workflow. - OnExceptionSteps []*ExecutionStepResult `min:"1" type:"list"` + // The maximum number of connectors to return. + MaxResults *int64 `min:"1" type:"integer"` - // Specifies the details for the steps that are in the specified workflow. - Steps []*ExecutionStepResult `min:"1" type:"list"` + // When you can get additional results from the ListConnectors call, a NextToken + // parameter is returned in the output. You can then pass in a subsequent command + // to the NextToken parameter to continue listing additional connectors. + NextToken *string `min:"1" type:"string"` } // String returns the string representation. @@ -7061,7 +12233,7 @@ type ExecutionResults 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 ExecutionResults) String() string { +func (s ListConnectorsInput) String() string { return awsutil.Prettify(s) } @@ -7070,45 +12242,49 @@ func (s ExecutionResults) 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 ExecutionResults) GoString() string { +func (s ListConnectorsInput) GoString() string { return s.String() } -// SetOnExceptionSteps sets the OnExceptionSteps field's value. -func (s *ExecutionResults) SetOnExceptionSteps(v []*ExecutionStepResult) *ExecutionResults { - s.OnExceptionSteps = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListConnectorsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListConnectorsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + 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 *ListConnectorsInput) SetMaxResults(v int64) *ListConnectorsInput { + s.MaxResults = &v return s } -// SetSteps sets the Steps field's value. -func (s *ExecutionResults) SetSteps(v []*ExecutionStepResult) *ExecutionResults { - s.Steps = v +// SetNextToken sets the NextToken field's value. +func (s *ListConnectorsInput) SetNextToken(v string) *ListConnectorsInput { + s.NextToken = &v return s } -// Specifies the following details for the step: error (if any), outputs (if -// any), and the step type. -type ExecutionStepResult struct { +type ListConnectorsOutput struct { _ struct{} `type:"structure"` - // Specifies the details for an error, if it occurred during execution of the - // specified workfow step. - Error *ExecutionError `type:"structure"` - - // The values for the key/value pair applied as a tag to the file. Only applicable - // if the step type is TAG. - Outputs *string `type:"string"` - - // One of the available step types. - // - // * COPY: copy the file to another location + // Returns an array, where each item contains the details of a connector. // - // * CUSTOM: custom step with a lambda target - // - // * DELETE: delete the file - // - // * TAG: add a tag to the file - StepType *string `type:"string" enum:"WorkflowStepType"` + // Connectors is a required field + Connectors []*ListedConnector `type:"list" required:"true"` + + // Returns a token that you can use to call ListConnectors again and receive + // additional results, if there are any. + NextToken *string `min:"1" type:"string"` } // String returns the string representation. @@ -7116,7 +12292,7 @@ type ExecutionStepResult 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 ExecutionStepResult) String() string { +func (s ListConnectorsOutput) String() string { return awsutil.Prettify(s) } @@ -7125,38 +12301,53 @@ func (s ExecutionStepResult) 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 ExecutionStepResult) GoString() string { +func (s ListConnectorsOutput) GoString() string { return s.String() } -// SetError sets the Error field's value. -func (s *ExecutionStepResult) SetError(v *ExecutionError) *ExecutionStepResult { - s.Error = v - return s -} - -// SetOutputs sets the Outputs field's value. -func (s *ExecutionStepResult) SetOutputs(v string) *ExecutionStepResult { - s.Outputs = &v +// SetConnectors sets the Connectors field's value. +func (s *ListConnectorsOutput) SetConnectors(v []*ListedConnector) *ListConnectorsOutput { + s.Connectors = v return s } -// SetStepType sets the StepType field's value. -func (s *ExecutionStepResult) SetStepType(v string) *ExecutionStepResult { - s.StepType = &v +// SetNextToken sets the NextToken field's value. +func (s *ListConnectorsOutput) SetNextToken(v string) *ListConnectorsOutput { + s.NextToken = &v return s } -// Specifies the Amazon S3 or EFS file details to be used in the step. -type FileLocation struct { +type ListExecutionsInput struct { _ struct{} `type:"structure"` - // Specifies the Amazon EFS ID and the path for the file being used. - EfsFileLocation *EfsFileLocation `type:"structure"` + // Specifies the maximum number of executions to return. + MaxResults *int64 `min:"1" type:"integer"` - // Specifies the S3 details for the file being used, such as bucket, Etag, and - // so forth. - S3FileLocation *S3FileLocation `type:"structure"` + // ListExecutions returns the NextToken parameter in the output. You can then + // pass the NextToken parameter in a subsequent command to continue listing + // additional executions. + // + // This is useful for pagination, for instance. If you have 100 executions for + // a workflow, you might only want to list first 10. If so, call the API by + // specifying the max-results: + // + // aws transfer list-executions --max-results 10 + // + // This returns details for the first 10 executions, as well as the pointer + // (NextToken) to the eleventh execution. You can now call the API again, supplying + // the NextToken value you received: + // + // aws transfer list-executions --max-results 10 --next-token $somePointerReturnedFromPreviousListResult + // + // This call returns the next 10 executions, the 11th through the 20th. You + // can then repeat the call until the details for all 100 executions have been + // returned. + NextToken *string `min:"1" type:"string"` + + // A unique identifier for the workflow. + // + // WorkflowId is a required field + WorkflowId *string `min:"19" type:"string" required:"true"` } // String returns the string representation. @@ -7164,7 +12355,7 @@ type FileLocation 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 FileLocation) String() string { +func (s ListExecutionsInput) String() string { return awsutil.Prettify(s) } @@ -7173,39 +12364,78 @@ func (s FileLocation) 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 FileLocation) GoString() string { +func (s ListExecutionsInput) GoString() string { return s.String() } -// SetEfsFileLocation sets the EfsFileLocation field's value. -func (s *FileLocation) SetEfsFileLocation(v *EfsFileLocation) *FileLocation { - s.EfsFileLocation = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListExecutionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListExecutionsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.WorkflowId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkflowId")) + } + if s.WorkflowId != nil && len(*s.WorkflowId) < 19 { + invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 19)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListExecutionsInput) SetMaxResults(v int64) *ListExecutionsInput { + s.MaxResults = &v return s } -// SetS3FileLocation sets the S3FileLocation field's value. -func (s *FileLocation) SetS3FileLocation(v *S3FileLocation) *FileLocation { - s.S3FileLocation = v +// SetNextToken sets the NextToken field's value. +func (s *ListExecutionsInput) SetNextToken(v string) *ListExecutionsInput { + s.NextToken = &v return s } -// Represents an object that contains entries and targets for HomeDirectoryMappings. -// -// The following is an Entry and Target pair example for chroot. -// -// [ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ] -type HomeDirectoryMapEntry struct { +// SetWorkflowId sets the WorkflowId field's value. +func (s *ListExecutionsInput) SetWorkflowId(v string) *ListExecutionsInput { + s.WorkflowId = &v + return s +} + +type ListExecutionsOutput struct { _ struct{} `type:"structure"` - // Represents an entry for HomeDirectoryMappings. + // Returns the details for each execution. // - // Entry is a required field - Entry *string `type:"string" required:"true"` + // * NextToken: returned from a call to several APIs, you can use pass it + // to a subsequent command to continue listing additional executions. + // + // * StartTime: timestamp indicating when the execution began. + // + // * Executions: details of the execution, including the execution ID, initial + // file location, and Service metadata. + // + // * Status: one of the following values: IN_PROGRESS, COMPLETED, EXCEPTION, + // HANDLING_EXEPTION. + // + // Executions is a required field + Executions []*ListedExecution `type:"list" required:"true"` + + // ListExecutions returns the NextToken parameter in the output. You can then + // pass the NextToken parameter in a subsequent command to continue listing + // additional executions. + NextToken *string `min:"1" type:"string"` - // Represents the map target that is used in a HomeDirectorymapEntry. + // A unique identifier for the workflow. // - // Target is a required field - Target *string `type:"string" required:"true"` + // WorkflowId is a required field + WorkflowId *string `min:"19" type:"string" required:"true"` } // String returns the string representation. @@ -7213,7 +12443,7 @@ type HomeDirectoryMapEntry 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 HomeDirectoryMapEntry) String() string { +func (s ListExecutionsOutput) String() string { return awsutil.Prettify(s) } @@ -7222,56 +12452,42 @@ func (s HomeDirectoryMapEntry) 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 HomeDirectoryMapEntry) GoString() string { +func (s ListExecutionsOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *HomeDirectoryMapEntry) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "HomeDirectoryMapEntry"} - if s.Entry == nil { - invalidParams.Add(request.NewErrParamRequired("Entry")) - } - if s.Target == nil { - invalidParams.Add(request.NewErrParamRequired("Target")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetExecutions sets the Executions field's value. +func (s *ListExecutionsOutput) SetExecutions(v []*ListedExecution) *ListExecutionsOutput { + s.Executions = v + return s } -// SetEntry sets the Entry field's value. -func (s *HomeDirectoryMapEntry) SetEntry(v string) *HomeDirectoryMapEntry { - s.Entry = &v +// SetNextToken sets the NextToken field's value. +func (s *ListExecutionsOutput) SetNextToken(v string) *ListExecutionsOutput { + s.NextToken = &v return s } -// SetTarget sets the Target field's value. -func (s *HomeDirectoryMapEntry) SetTarget(v string) *HomeDirectoryMapEntry { - s.Target = &v +// SetWorkflowId sets the WorkflowId field's value. +func (s *ListExecutionsOutput) SetWorkflowId(v string) *ListExecutionsOutput { + s.WorkflowId = &v return s } -// Returns information related to the type of user authentication that is in -// use for a file transfer protocol-enabled server's users. A server can have -// only one method of authentication. -type IdentityProviderDetails struct { +type ListProfilesInput struct { _ struct{} `type:"structure"` - // The identifier of the Amazon Web Services Directory Service directory that - // you want to stop sharing. - DirectoryId *string `min:"12" type:"string"` - - // The ARN for a lambda function to use for the Identity provider. - Function *string `min:"1" type:"string"` + // The maximum number of profiles to return. + MaxResults *int64 `min:"1" type:"integer"` - // Provides the type of InvocationRole used to authenticate the user account. - InvocationRole *string `min:"20" type:"string"` + // When there are additional results that were not returned, a NextToken parameter + // is returned. You can use that value for a subsequent call to ListProfiles + // to continue listing results. + NextToken *string `min:"1" type:"string"` - // Provides the location of the service endpoint used to authenticate users. - Url *string `type:"string"` + // Indicates whether to list only LOCAL type profiles or only PARTNER type profiles. + // If not supplied in the request, the command lists all types of profiles. + ProfileType *string `type:"string" enum:"ProfileType"` } // String returns the string representation. @@ -7279,7 +12495,7 @@ type IdentityProviderDetails 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 IdentityProviderDetails) String() string { +func (s ListProfilesInput) String() string { return awsutil.Prettify(s) } @@ -7288,21 +12504,18 @@ func (s IdentityProviderDetails) 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 IdentityProviderDetails) GoString() string { +func (s ListProfilesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *IdentityProviderDetails) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "IdentityProviderDetails"} - if s.DirectoryId != nil && len(*s.DirectoryId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("DirectoryId", 12)) - } - if s.Function != nil && len(*s.Function) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Function", 1)) +func (s *ListProfilesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListProfilesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.InvocationRole != nil && len(*s.InvocationRole) < 20 { - invalidParams.Add(request.NewErrParamMinLen("InvocationRole", 20)) + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } if invalidParams.Len() > 0 { @@ -7311,49 +12524,79 @@ func (s *IdentityProviderDetails) Validate() error { return nil } -// SetDirectoryId sets the DirectoryId field's value. -func (s *IdentityProviderDetails) SetDirectoryId(v string) *IdentityProviderDetails { - s.DirectoryId = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListProfilesInput) SetMaxResults(v int64) *ListProfilesInput { + s.MaxResults = &v return s } -// SetFunction sets the Function field's value. -func (s *IdentityProviderDetails) SetFunction(v string) *IdentityProviderDetails { - s.Function = &v +// SetNextToken sets the NextToken field's value. +func (s *ListProfilesInput) SetNextToken(v string) *ListProfilesInput { + s.NextToken = &v return s } -// SetInvocationRole sets the InvocationRole field's value. -func (s *IdentityProviderDetails) SetInvocationRole(v string) *IdentityProviderDetails { - s.InvocationRole = &v +// SetProfileType sets the ProfileType field's value. +func (s *ListProfilesInput) SetProfileType(v string) *ListProfilesInput { + s.ProfileType = &v return s } -// SetUrl sets the Url field's value. -func (s *IdentityProviderDetails) SetUrl(v string) *IdentityProviderDetails { - s.Url = &v +type ListProfilesOutput struct { + _ struct{} `type:"structure"` + + // Returns a token that you can use to call ListProfiles again and receive additional + // results, if there are any. + NextToken *string `min:"1" type:"string"` + + // Returns an array, where each item contains the details of a profile. + // + // Profiles is a required field + Profiles []*ListedProfile `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 ListProfilesOutput) 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 ListProfilesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListProfilesOutput) SetNextToken(v string) *ListProfilesOutput { + s.NextToken = &v return s } -type ImportSshPublicKeyInput struct { - _ struct{} `type:"structure"` +// SetProfiles sets the Profiles field's value. +func (s *ListProfilesOutput) SetProfiles(v []*ListedProfile) *ListProfilesOutput { + s.Profiles = v + return s +} - // A system-assigned unique identifier for a server. - // - // ServerId is a required field - ServerId *string `min:"19" type:"string" required:"true"` +type ListSecurityPoliciesInput struct { + _ struct{} `type:"structure"` - // The public key portion of an SSH key pair. - // - // Transfer Family accepts RSA, ECDSA, and ED25519 keys. - // - // SshPublicKeyBody is a required field - SshPublicKeyBody *string `type:"string" required:"true"` + // Specifies the number of security policies to return as a response to the + // ListSecurityPolicies query. + MaxResults *int64 `min:"1" type:"integer"` - // The name of the user account that is assigned to one or more servers. - // - // UserName is a required field - UserName *string `min:"3" type:"string" required:"true"` + // When additional results are obtained from the ListSecurityPolicies command, + // a NextToken parameter is returned in the output. You can then pass the NextToken + // parameter in a subsequent command to continue listing additional security + // policies. + NextToken *string `min:"1" type:"string"` } // String returns the string representation. @@ -7361,7 +12604,7 @@ type ImportSshPublicKeyInput 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 ImportSshPublicKeyInput) String() string { +func (s ListSecurityPoliciesInput) String() string { return awsutil.Prettify(s) } @@ -7370,27 +12613,18 @@ func (s ImportSshPublicKeyInput) 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 ImportSshPublicKeyInput) GoString() string { +func (s ListSecurityPoliciesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ImportSshPublicKeyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ImportSshPublicKeyInput"} - if s.ServerId == nil { - invalidParams.Add(request.NewErrParamRequired("ServerId")) - } - if s.ServerId != nil && len(*s.ServerId) < 19 { - invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) - } - if s.SshPublicKeyBody == nil { - invalidParams.Add(request.NewErrParamRequired("SshPublicKeyBody")) - } - if s.UserName == nil { - invalidParams.Add(request.NewErrParamRequired("UserName")) +func (s *ListSecurityPoliciesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListSecurityPoliciesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.UserName != nil && len(*s.UserName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("UserName", 3)) + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } if invalidParams.Len() > 0 { @@ -7399,44 +12633,30 @@ func (s *ImportSshPublicKeyInput) Validate() error { return nil } -// SetServerId sets the ServerId field's value. -func (s *ImportSshPublicKeyInput) SetServerId(v string) *ImportSshPublicKeyInput { - s.ServerId = &v - return s -} - -// SetSshPublicKeyBody sets the SshPublicKeyBody field's value. -func (s *ImportSshPublicKeyInput) SetSshPublicKeyBody(v string) *ImportSshPublicKeyInput { - s.SshPublicKeyBody = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListSecurityPoliciesInput) SetMaxResults(v int64) *ListSecurityPoliciesInput { + s.MaxResults = &v return s } -// SetUserName sets the UserName field's value. -func (s *ImportSshPublicKeyInput) SetUserName(v string) *ImportSshPublicKeyInput { - s.UserName = &v +// SetNextToken sets the NextToken field's value. +func (s *ListSecurityPoliciesInput) SetNextToken(v string) *ListSecurityPoliciesInput { + s.NextToken = &v return s } -// Identifies the user, the server they belong to, and the identifier of the -// SSH public key associated with that user. A user can have more than one key -// on each server that they are associated with. -type ImportSshPublicKeyOutput struct { +type ListSecurityPoliciesOutput struct { _ struct{} `type:"structure"` - // A system-assigned unique identifier for a server. - // - // ServerId is a required field - ServerId *string `min:"19" type:"string" required:"true"` - - // The name given to a public key by the system that was imported. - // - // SshPublicKeyId is a required field - SshPublicKeyId *string `min:"21" type:"string" required:"true"` + // When you can get additional results from the ListSecurityPolicies operation, + // a NextToken parameter is returned in the output. In a following command, + // you can pass in the NextToken parameter to continue listing security policies. + NextToken *string `min:"1" type:"string"` - // A user name assigned to the ServerID value that you specified. + // An array of security policies that were listed. // - // UserName is a required field - UserName *string `min:"3" type:"string" required:"true"` + // SecurityPolicyNames is a required field + SecurityPolicyNames []*string `type:"list" required:"true"` } // String returns the string representation. @@ -7444,7 +12664,7 @@ type ImportSshPublicKeyOutput 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 ImportSshPublicKeyOutput) String() string { +func (s ListSecurityPoliciesOutput) String() string { return awsutil.Prettify(s) } @@ -7453,38 +12673,33 @@ func (s ImportSshPublicKeyOutput) 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 ImportSshPublicKeyOutput) GoString() string { +func (s ListSecurityPoliciesOutput) GoString() string { return s.String() } -// SetServerId sets the ServerId field's value. -func (s *ImportSshPublicKeyOutput) SetServerId(v string) *ImportSshPublicKeyOutput { - s.ServerId = &v - return s -} - -// SetSshPublicKeyId sets the SshPublicKeyId field's value. -func (s *ImportSshPublicKeyOutput) SetSshPublicKeyId(v string) *ImportSshPublicKeyOutput { - s.SshPublicKeyId = &v +// SetNextToken sets the NextToken field's value. +func (s *ListSecurityPoliciesOutput) SetNextToken(v string) *ListSecurityPoliciesOutput { + s.NextToken = &v return s } -// SetUserName sets the UserName field's value. -func (s *ImportSshPublicKeyOutput) SetUserName(v string) *ImportSshPublicKeyOutput { - s.UserName = &v +// SetSecurityPolicyNames sets the SecurityPolicyNames field's value. +func (s *ListSecurityPoliciesOutput) SetSecurityPolicyNames(v []*string) *ListSecurityPoliciesOutput { + s.SecurityPolicyNames = v return s } -// Specifies the location for the file being copied. Only applicable for the -// Copy type of workflow steps. -type InputFileLocation struct { +type ListServersInput struct { _ struct{} `type:"structure"` - // Reserved for future use. - EfsFileLocation *EfsFileLocation `type:"structure"` + // Specifies the number of servers to return as a response to the ListServers + // query. + MaxResults *int64 `min:"1" type:"integer"` - // Specifies the details for the S3 file being copied. - S3FileLocation *S3InputFileLocation `type:"structure"` + // When additional results are obtained from the ListServers command, a NextToken + // parameter is returned in the output. You can then pass the NextToken parameter + // in a subsequent command to continue listing additional servers. + NextToken *string `min:"1" type:"string"` } // String returns the string representation. @@ -7492,7 +12707,7 @@ type InputFileLocation 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 InputFileLocation) String() string { +func (s ListServersInput) String() string { return awsutil.Prettify(s) } @@ -7501,22 +12716,18 @@ func (s InputFileLocation) 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 InputFileLocation) GoString() string { +func (s ListServersInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *InputFileLocation) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "InputFileLocation"} - if s.EfsFileLocation != nil { - if err := s.EfsFileLocation.Validate(); err != nil { - invalidParams.AddNested("EfsFileLocation", err.(request.ErrInvalidParams)) - } +func (s *ListServersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListServersInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.S3FileLocation != nil { - if err := s.S3FileLocation.Validate(); err != nil { - invalidParams.AddNested("S3FileLocation", err.(request.ErrInvalidParams)) - } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } if invalidParams.Len() > 0 { @@ -7525,25 +12736,30 @@ func (s *InputFileLocation) Validate() error { return nil } -// SetEfsFileLocation sets the EfsFileLocation field's value. -func (s *InputFileLocation) SetEfsFileLocation(v *EfsFileLocation) *InputFileLocation { - s.EfsFileLocation = v +// SetMaxResults sets the MaxResults field's value. +func (s *ListServersInput) SetMaxResults(v int64) *ListServersInput { + s.MaxResults = &v return s } -// SetS3FileLocation sets the S3FileLocation field's value. -func (s *InputFileLocation) SetS3FileLocation(v *S3InputFileLocation) *InputFileLocation { - s.S3FileLocation = v +// SetNextToken sets the NextToken field's value. +func (s *ListServersInput) SetNextToken(v string) *ListServersInput { + s.NextToken = &v return s } -// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer -// Family service. -type InternalServiceError struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +type ListServersOutput struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"Message" type:"string"` + // When you can get additional results from the ListServers operation, a NextToken + // parameter is returned in the output. In a following command, you can pass + // in the NextToken parameter to continue listing additional servers. + NextToken *string `min:"1" type:"string"` + + // An array of servers that were listed. + // + // Servers is a required field + Servers []*ListedServer `type:"list" required:"true"` } // String returns the string representation. @@ -7551,7 +12767,7 @@ type InternalServiceError 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 InternalServiceError) String() string { +func (s ListServersOutput) String() string { return awsutil.Prettify(s) } @@ -7560,54 +12776,40 @@ func (s InternalServiceError) 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 InternalServiceError) GoString() string { +func (s ListServersOutput) GoString() string { return s.String() } -func newErrorInternalServiceError(v protocol.ResponseMetadata) error { - return &InternalServiceError{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *InternalServiceError) Code() string { - return "InternalServiceError" -} - -// Message returns the exception's message. -func (s *InternalServiceError) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} - -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InternalServiceError) OrigErr() error { - return nil +// SetNextToken sets the NextToken field's value. +func (s *ListServersOutput) SetNextToken(v string) *ListServersOutput { + s.NextToken = &v + return s } -func (s *InternalServiceError) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetServers sets the Servers field's value. +func (s *ListServersOutput) SetServers(v []*ListedServer) *ListServersOutput { + s.Servers = v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *InternalServiceError) StatusCode() int { - return s.RespMetadata.StatusCode -} +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` -// RequestID returns the service's response RequestID for request. -func (s *InternalServiceError) RequestID() string { - return s.RespMetadata.RequestID -} + // Requests the tags associated with a particular Amazon Resource Name (ARN). + // An ARN is an identifier for a specific Amazon Web Services resource, such + // as a server, user, or role. + // + // Arn is a required field + Arn *string `min:"20" type:"string" required:"true"` -// The NextToken parameter that was passed is invalid. -type InvalidNextTokenException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // Specifies the number of tags to return as a response to the ListTagsForResource + // request. + MaxResults *int64 `min:"1" type:"integer"` - Message_ *string `locationName:"Message" type:"string"` + // When you request additional results from the ListTagsForResource operation, + // a NextToken parameter is returned in the input. You can then pass in a subsequent + // command to the NextToken parameter to continue listing additional tags. + NextToken *string `min:"1" type:"string"` } // String returns the string representation. @@ -7615,7 +12817,7 @@ type InvalidNextTokenException 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 InvalidNextTokenException) String() string { +func (s ListTagsForResourceInput) String() string { return awsutil.Prettify(s) } @@ -7624,54 +12826,64 @@ func (s InvalidNextTokenException) 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 InvalidNextTokenException) GoString() string { +func (s ListTagsForResourceInput) GoString() string { return s.String() } -func newErrorInvalidNextTokenException(v protocol.ResponseMetadata) error { - return &InvalidNextTokenException{ - RespMetadata: v, +// 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.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) } -} - -// Code returns the exception type name. -func (s *InvalidNextTokenException) Code() string { - return "InvalidNextTokenException" -} - -// Message returns the exception's message. -func (s *InvalidNextTokenException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if s.Arn != nil && len(*s.Arn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 20)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } - return "" -} -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InvalidNextTokenException) OrigErr() error { + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *InvalidNextTokenException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetArn sets the Arn field's value. +func (s *ListTagsForResourceInput) SetArn(v string) *ListTagsForResourceInput { + s.Arn = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *InvalidNextTokenException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetMaxResults sets the MaxResults field's value. +func (s *ListTagsForResourceInput) SetMaxResults(v int64) *ListTagsForResourceInput { + s.MaxResults = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *InvalidNextTokenException) RequestID() string { - return s.RespMetadata.RequestID +// SetNextToken sets the NextToken field's value. +func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput { + s.NextToken = &v + return s } -// This exception is thrown when the client submits a malformed request. -type InvalidRequestException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"Message" type:"string"` + // The ARN you specified to list the tags of. + Arn *string `min:"20" type:"string"` + + // When you can get additional results from the ListTagsForResource call, a + // NextToken parameter is returned in the output. You can then pass in a subsequent + // command to the NextToken parameter to continue listing additional tags. + NextToken *string `min:"1" type:"string"` + + // Key-value pairs that are assigned to a resource, usually for the purpose + // of grouping and searching for items. Tags are metadata that you define. + Tags []*Tag `min:"1" type:"list"` } // String returns the string representation. @@ -7679,7 +12891,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 ListTagsForResourceOutput) String() string { return awsutil.Prettify(s) } @@ -7688,57 +12900,37 @@ 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 ListTagsForResourceOutput) 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()) +// SetArn sets the Arn field's value. +func (s *ListTagsForResourceOutput) SetArn(v string) *ListTagsForResourceOutput { + s.Arn = &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 +// SetNextToken sets the NextToken field's value. +func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput { + s.NextToken = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *InvalidRequestException) RequestID() string { - return s.RespMetadata.RequestID +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { + s.Tags = v + return s } -type ListAccessesInput struct { +type ListUsersInput struct { _ struct{} `type:"structure"` - // Specifies the maximum number of access SIDs to return. + // Specifies the number of users to return as a response to the ListUsers request. MaxResults *int64 `min:"1" type:"integer"` - // When you can get additional results from the ListAccesses call, a NextToken + // When you can get additional results from the ListUsers call, a NextToken // parameter is returned in the output. You can then pass in a subsequent command - // to the NextToken parameter to continue listing additional accesses. + // to the NextToken parameter to continue listing additional users. NextToken *string `min:"1" type:"string"` // A system-assigned unique identifier for a server that has users assigned @@ -7753,7 +12945,7 @@ type ListAccessesInput 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 ListAccessesInput) String() string { +func (s ListUsersInput) String() string { return awsutil.Prettify(s) } @@ -7762,13 +12954,13 @@ func (s ListAccessesInput) 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 ListAccessesInput) GoString() string { +func (s ListUsersInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListAccessesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListAccessesInput"} +func (s *ListUsersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListUsersInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } @@ -7789,42 +12981,42 @@ func (s *ListAccessesInput) Validate() error { } // SetMaxResults sets the MaxResults field's value. -func (s *ListAccessesInput) SetMaxResults(v int64) *ListAccessesInput { +func (s *ListUsersInput) SetMaxResults(v int64) *ListUsersInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListAccessesInput) SetNextToken(v string) *ListAccessesInput { +func (s *ListUsersInput) SetNextToken(v string) *ListUsersInput { s.NextToken = &v return s } // SetServerId sets the ServerId field's value. -func (s *ListAccessesInput) SetServerId(v string) *ListAccessesInput { +func (s *ListUsersInput) SetServerId(v string) *ListUsersInput { s.ServerId = &v - return s -} - -type ListAccessesOutput struct { - _ struct{} `type:"structure"` - - // Returns the accesses and their properties for the ServerId value that you - // specify. - // - // Accesses is a required field - Accesses []*ListedAccess `type:"list" required:"true"` + return s +} - // When you can get additional results from the ListAccesses call, a NextToken +type ListUsersOutput struct { + _ struct{} `type:"structure"` + + // When you can get additional results from the ListUsers call, a NextToken // parameter is returned in the output. You can then pass in a subsequent command - // to the NextToken parameter to continue listing additional accesses. + // to the NextToken parameter to continue listing additional users. NextToken *string `min:"1" type:"string"` - // A system-assigned unique identifier for a server that has users assigned - // to it. + // A system-assigned unique identifier for a server that the users are assigned + // to. // // ServerId is a required field ServerId *string `min:"19" type:"string" required:"true"` + + // Returns the user accounts and their properties for the ServerId value that + // you specify. + // + // Users is a required field + Users []*ListedUser `type:"list" required:"true"` } // String returns the string representation. @@ -7832,7 +13024,7 @@ type ListAccessesOutput 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 ListAccessesOutput) String() string { +func (s ListUsersOutput) String() string { return awsutil.Prettify(s) } @@ -7841,59 +13033,38 @@ func (s ListAccessesOutput) 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 ListAccessesOutput) GoString() string { +func (s ListUsersOutput) GoString() string { return s.String() } -// SetAccesses sets the Accesses field's value. -func (s *ListAccessesOutput) SetAccesses(v []*ListedAccess) *ListAccessesOutput { - s.Accesses = v - return s -} - // SetNextToken sets the NextToken field's value. -func (s *ListAccessesOutput) SetNextToken(v string) *ListAccessesOutput { +func (s *ListUsersOutput) SetNextToken(v string) *ListUsersOutput { s.NextToken = &v return s } // SetServerId sets the ServerId field's value. -func (s *ListAccessesOutput) SetServerId(v string) *ListAccessesOutput { +func (s *ListUsersOutput) SetServerId(v string) *ListUsersOutput { s.ServerId = &v return s } -type ListExecutionsInput struct { +// SetUsers sets the Users field's value. +func (s *ListUsersOutput) SetUsers(v []*ListedUser) *ListUsersOutput { + s.Users = v + return s +} + +type ListWorkflowsInput struct { _ struct{} `type:"structure"` - // Specifies the aximum number of executions to return. + // Specifies the maximum number of workflows to return. MaxResults *int64 `min:"1" type:"integer"` - // ListExecutions returns the NextToken parameter in the output. You can then + // ListWorkflows returns the NextToken parameter in the output. You can then // pass the NextToken parameter in a subsequent command to continue listing - // additional executions. - // - // This is useful for pagination, for instance. If you have 100 executions for - // a workflow, you might only want to list first 10. If so, callthe API by specifing - // the max-results: - // - // aws transfer list-executions --max-results 10 - // - // This returns details for the first 10 executions, as well as the pointer - // (NextToken) to the eleventh execution. You can now call the API again, suppling - // the NextToken value you received: - // - // aws transfer list-executions --max-results 10 --next-token $somePointerReturnedFromPreviousListResult - // - // This call returns the next 10 executions, the 11th through the 20th. You - // can then repeat the call until the details for all 100 executions have been - // returned. + // additional workflows. NextToken *string `min:"1" type:"string"` - - // A unique identifier for the workflow. - // - // WorkflowId is a required field - WorkflowId *string `min:"19" type:"string" required:"true"` } // String returns the string representation. @@ -7901,7 +13072,7 @@ type ListExecutionsInput 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 ListExecutionsInput) String() string { +func (s ListWorkflowsInput) String() string { return awsutil.Prettify(s) } @@ -7910,25 +13081,19 @@ func (s ListExecutionsInput) 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 ListExecutionsInput) GoString() string { +func (s ListWorkflowsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListExecutionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListExecutionsInput"} +func (s *ListWorkflowsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListWorkflowsInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if s.NextToken != nil && len(*s.NextToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } - if s.WorkflowId == nil { - invalidParams.Add(request.NewErrParamRequired("WorkflowId")) - } - if s.WorkflowId != nil && len(*s.WorkflowId) < 19 { - invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 19)) - } if invalidParams.Len() > 0 { return invalidParams @@ -7937,51 +13102,104 @@ func (s *ListExecutionsInput) Validate() error { } // SetMaxResults sets the MaxResults field's value. -func (s *ListExecutionsInput) SetMaxResults(v int64) *ListExecutionsInput { +func (s *ListWorkflowsInput) SetMaxResults(v int64) *ListWorkflowsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListExecutionsInput) SetNextToken(v string) *ListExecutionsInput { +func (s *ListWorkflowsInput) SetNextToken(v string) *ListWorkflowsInput { s.NextToken = &v return s } -// SetWorkflowId sets the WorkflowId field's value. -func (s *ListExecutionsInput) SetWorkflowId(v string) *ListExecutionsInput { - s.WorkflowId = &v +type ListWorkflowsOutput struct { + _ struct{} `type:"structure"` + + // ListWorkflows returns the NextToken parameter in the output. You can then + // pass the NextToken parameter in a subsequent command to continue listing + // additional workflows. + NextToken *string `min:"1" type:"string"` + + // Returns the Arn, WorkflowId, and Description for each workflow. + // + // Workflows is a required field + Workflows []*ListedWorkflow `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 ListWorkflowsOutput) 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 ListWorkflowsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListWorkflowsOutput) SetNextToken(v string) *ListWorkflowsOutput { + s.NextToken = &v return s } -type ListExecutionsOutput struct { +// SetWorkflows sets the Workflows field's value. +func (s *ListWorkflowsOutput) SetWorkflows(v []*ListedWorkflow) *ListWorkflowsOutput { + s.Workflows = v + return s +} + +// Lists the properties for one or more specified associated accesses. +type ListedAccess struct { _ struct{} `type:"structure"` - // Returns the details for each execution. - // - // * NextToken: returned from a call to several APIs, you can use pass it - // to a subsequent command to continue listing additional executions. + // A unique identifier that is required to identify specific groups within your + // directory. The users of the group that you associate have access to your + // Amazon S3 or Amazon EFS resources over the enabled protocols using Transfer + // Family. If you know the group name, you can view the SID values by running + // the following command using Windows PowerShell. // - // * StartTime: timestamp indicating when the execution began. + // Get-ADGroup -Filter {samAccountName -like "YourGroupName*"} -Properties * + // | Select SamAccountName,ObjectSid // - // * Executions: details of the execution, including the execution ID, initial - // file location, and Service metadata. + // In that command, replace YourGroupName with the name of your Active Directory + // group. // - // * Status: one of the following values: IN_PROGRESS, COMPLETED, EXCEPTION, - // HANDLING_EXEPTION. + // The regular expression used to validate this parameter is a string of characters + // consisting of uppercase and lowercase alphanumeric characters with no spaces. + // You can also include underscores or any of the following characters: =,.@:/- + ExternalId *string `min:"1" type:"string"` + + // The landing directory (folder) for a user when they log in to the server + // using the client. // - // Executions is a required field - Executions []*ListedExecution `type:"list" required:"true"` + // A HomeDirectory example is /bucket_name/home/mydirectory. + HomeDirectory *string `type:"string"` - // ListExecutions returns the NextToken parameter in the output. You can then - // pass the NextToken parameter in a subsequent command to continue listing - // additional executions. - NextToken *string `min:"1" type:"string"` + // The type of landing directory (folder) that you want your users' home directory + // to be when they log in to the server. If you set it to PATH, the user will + // see the absolute Amazon S3 bucket or EFS paths as is in their file transfer + // protocol clients. If you set it LOGICAL, you need to provide mappings in + // the HomeDirectoryMappings for how you want to make Amazon S3 or Amazon EFS + // paths visible to your users. + HomeDirectoryType *string `type:"string" enum:"HomeDirectoryType"` - // A unique identifier for the workflow. - // - // WorkflowId is a required field - WorkflowId *string `min:"19" type:"string" required:"true"` + // The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) + // role that controls your users' access to your Amazon S3 bucket or Amazon + // EFS file system. The policies attached to this role determine the level of + // access that you want to provide your users when transferring files into and + // out of your Amazon S3 bucket or Amazon EFS file system. The IAM role should + // also contain a trust relationship that allows the server to access your resources + // when servicing your users' transfer requests. + Role *string `min:"20" type:"string"` } // String returns the string representation. @@ -7989,7 +13207,7 @@ type ListExecutionsOutput 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 ListExecutionsOutput) String() string { +func (s ListedAccess) String() string { return awsutil.Prettify(s) } @@ -7998,40 +13216,60 @@ func (s ListExecutionsOutput) 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 ListExecutionsOutput) GoString() string { +func (s ListedAccess) GoString() string { return s.String() } -// SetExecutions sets the Executions field's value. -func (s *ListExecutionsOutput) SetExecutions(v []*ListedExecution) *ListExecutionsOutput { - s.Executions = v +// SetExternalId sets the ExternalId field's value. +func (s *ListedAccess) SetExternalId(v string) *ListedAccess { + s.ExternalId = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListExecutionsOutput) SetNextToken(v string) *ListExecutionsOutput { - s.NextToken = &v +// SetHomeDirectory sets the HomeDirectory field's value. +func (s *ListedAccess) SetHomeDirectory(v string) *ListedAccess { + s.HomeDirectory = &v return s } -// SetWorkflowId sets the WorkflowId field's value. -func (s *ListExecutionsOutput) SetWorkflowId(v string) *ListExecutionsOutput { - s.WorkflowId = &v +// SetHomeDirectoryType sets the HomeDirectoryType field's value. +func (s *ListedAccess) SetHomeDirectoryType(v string) *ListedAccess { + s.HomeDirectoryType = &v return s } -type ListSecurityPoliciesInput struct { +// SetRole sets the Role field's value. +func (s *ListedAccess) SetRole(v string) *ListedAccess { + s.Role = &v + return s +} + +// Describes the properties of an agreement. +type ListedAgreement struct { _ struct{} `type:"structure"` - // Specifies the number of security policies to return as a response to the - // ListSecurityPolicies query. - MaxResults *int64 `min:"1" type:"integer"` + // A unique identifier for the agreement. This identifier is returned when you + // create an agreement. + AgreementId *string `min:"19" type:"string"` - // When additional results are obtained from the ListSecurityPolicies command, - // a NextToken parameter is returned in the output. You can then pass the NextToken - // parameter in a subsequent command to continue listing additional security - // policies. - NextToken *string `min:"1" type:"string"` + // The Amazon Resource Name (ARN) of the specified agreement. + Arn *string `min:"20" type:"string"` + + // The current description for the agreement. You can change it by calling the + // UpdateAgreement operation and providing a new description. + Description *string `min:"1" type:"string"` + + // A unique identifier for the AS2 process. + LocalProfileId *string `min:"19" type:"string"` + + // A unique identifier for the partner process. + PartnerProfileId *string `min:"19" type:"string"` + + // The unique identifier for the agreement. + ServerId *string `min:"19" type:"string"` + + // The agreement can be either ACTIVE or INACTIVE. + Status *string `type:"string" enum:"AgreementStatusType"` } // String returns the string representation. @@ -8039,7 +13277,7 @@ type ListSecurityPoliciesInput 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 ListSecurityPoliciesInput) String() string { +func (s ListedAgreement) String() string { return awsutil.Prettify(s) } @@ -8048,50 +13286,84 @@ func (s ListSecurityPoliciesInput) 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 ListSecurityPoliciesInput) GoString() string { +func (s ListedAgreement) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListSecurityPoliciesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListSecurityPoliciesInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - if s.NextToken != nil && len(*s.NextToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) - } +// SetAgreementId sets the AgreementId field's value. +func (s *ListedAgreement) SetAgreementId(v string) *ListedAgreement { + s.AgreementId = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetArn sets the Arn field's value. +func (s *ListedAgreement) SetArn(v string) *ListedAgreement { + s.Arn = &v + return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListSecurityPoliciesInput) SetMaxResults(v int64) *ListSecurityPoliciesInput { - s.MaxResults = &v +// SetDescription sets the Description field's value. +func (s *ListedAgreement) SetDescription(v string) *ListedAgreement { + s.Description = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListSecurityPoliciesInput) SetNextToken(v string) *ListSecurityPoliciesInput { - s.NextToken = &v +// SetLocalProfileId sets the LocalProfileId field's value. +func (s *ListedAgreement) SetLocalProfileId(v string) *ListedAgreement { + s.LocalProfileId = &v return s } -type ListSecurityPoliciesOutput struct { +// SetPartnerProfileId sets the PartnerProfileId field's value. +func (s *ListedAgreement) SetPartnerProfileId(v string) *ListedAgreement { + s.PartnerProfileId = &v + return s +} + +// SetServerId sets the ServerId field's value. +func (s *ListedAgreement) SetServerId(v string) *ListedAgreement { + s.ServerId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ListedAgreement) SetStatus(v string) *ListedAgreement { + s.Status = &v + return s +} + +// Describes the properties of a certificate. +type ListedCertificate struct { _ struct{} `type:"structure"` - // When you can get additional results from the ListSecurityPolicies operation, - // a NextToken parameter is returned in the output. In a following command, - // you can pass in the NextToken parameter to continue listing security policies. - NextToken *string `min:"1" type:"string"` + // An optional date that specifies when the certificate becomes active. + ActiveDate *time.Time `type:"timestamp"` + + // The Amazon Resource Name (ARN) of the specified certificate. + Arn *string `min:"20" type:"string"` + + // An array of identifiers for the imported certificates. You use this identifier + // for working with profiles and partner profiles. + CertificateId *string `min:"22" type:"string"` + + // The name or short description that's used to identify the certificate. + Description *string `min:"1" type:"string"` + + // An optional date that specifies when the certificate becomes inactive. + InactiveDate *time.Time `type:"timestamp"` + + // The certificate can be either ACTIVE, PENDING_ROTATION, or INACTIVE. PENDING_ROTATION + // means that this certificate will replace the current certificate when it + // expires. + Status *string `type:"string" enum:"CertificateStatusType"` - // An array of security policies that were listed. - // - // SecurityPolicyNames is a required field - SecurityPolicyNames []*string `type:"list" required:"true"` + // The type for the certificate. If a private key has been specified for the + // certificate, its type is CERTIFICATE_WITH_PRIVATE_KEY. If there is no private + // key, the type is CERTIFICATE. + Type *string `type:"string" enum:"CertificateType"` + + // Specifies whether this certificate is used for signing or encryption. + Usage *string `type:"string" enum:"CertificateUsageType"` } // String returns the string representation. @@ -8099,7 +13371,7 @@ type ListSecurityPoliciesOutput 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 ListSecurityPoliciesOutput) String() string { +func (s ListedCertificate) String() string { return awsutil.Prettify(s) } @@ -8108,33 +13380,70 @@ func (s ListSecurityPoliciesOutput) 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 ListSecurityPoliciesOutput) GoString() string { +func (s ListedCertificate) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListSecurityPoliciesOutput) SetNextToken(v string) *ListSecurityPoliciesOutput { - s.NextToken = &v +// SetActiveDate sets the ActiveDate field's value. +func (s *ListedCertificate) SetActiveDate(v time.Time) *ListedCertificate { + s.ActiveDate = &v return s } -// SetSecurityPolicyNames sets the SecurityPolicyNames field's value. -func (s *ListSecurityPoliciesOutput) SetSecurityPolicyNames(v []*string) *ListSecurityPoliciesOutput { - s.SecurityPolicyNames = v +// SetArn sets the Arn field's value. +func (s *ListedCertificate) SetArn(v string) *ListedCertificate { + s.Arn = &v return s } -type ListServersInput struct { +// SetCertificateId sets the CertificateId field's value. +func (s *ListedCertificate) SetCertificateId(v string) *ListedCertificate { + s.CertificateId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *ListedCertificate) SetDescription(v string) *ListedCertificate { + s.Description = &v + return s +} + +// SetInactiveDate sets the InactiveDate field's value. +func (s *ListedCertificate) SetInactiveDate(v time.Time) *ListedCertificate { + s.InactiveDate = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ListedCertificate) SetStatus(v string) *ListedCertificate { + s.Status = &v + return s +} + +// SetType sets the Type field's value. +func (s *ListedCertificate) SetType(v string) *ListedCertificate { + s.Type = &v + return s +} + +// SetUsage sets the Usage field's value. +func (s *ListedCertificate) SetUsage(v string) *ListedCertificate { + s.Usage = &v + return s +} + +// Returns details of the connector that is specified. +type ListedConnector struct { _ struct{} `type:"structure"` - // Specifies the number of servers to return as a response to the ListServers - // query. - MaxResults *int64 `min:"1" type:"integer"` + // The Amazon Resource Name (ARN) of the specified connector. + Arn *string `min:"20" type:"string"` - // When additional results are obtained from the ListServers command, a NextToken - // parameter is returned in the output. You can then pass the NextToken parameter - // in a subsequent command to continue listing additional servers. - NextToken *string `min:"1" type:"string"` + // The unique identifier for the connector. + ConnectorId *string `min:"19" type:"string"` + + // The URL of the partner's AS2 endpoint. + Url *string `type:"string"` } // String returns the string representation. @@ -8142,7 +13451,7 @@ type ListServersInput 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 ListServersInput) String() string { +func (s ListedConnector) String() string { return awsutil.Prettify(s) } @@ -8151,50 +13460,46 @@ func (s ListServersInput) 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 ListServersInput) GoString() string { +func (s ListedConnector) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListServersInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListServersInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - if s.NextToken != nil && len(*s.NextToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetArn sets the Arn field's value. +func (s *ListedConnector) SetArn(v string) *ListedConnector { + s.Arn = &v + return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListServersInput) SetMaxResults(v int64) *ListServersInput { - s.MaxResults = &v +// SetConnectorId sets the ConnectorId field's value. +func (s *ListedConnector) SetConnectorId(v string) *ListedConnector { + s.ConnectorId = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListServersInput) SetNextToken(v string) *ListServersInput { - s.NextToken = &v +// SetUrl sets the Url field's value. +func (s *ListedConnector) SetUrl(v string) *ListedConnector { + s.Url = &v return s } -type ListServersOutput struct { +// Returns properties of the execution that is specified. +type ListedExecution struct { _ struct{} `type:"structure"` - // When you can get additional results from the ListServers operation, a NextToken - // parameter is returned in the output. In a following command, you can pass - // in the NextToken parameter to continue listing additional servers. - NextToken *string `min:"1" type:"string"` + // A unique identifier for the execution of a workflow. + ExecutionId *string `min:"36" type:"string"` - // An array of servers that were listed. - // - // Servers is a required field - Servers []*ListedServer `type:"list" required:"true"` + // A structure that describes the Amazon S3 or EFS file location. This is the + // file location when the execution begins: if the file is being copied, this + // is the initial (as opposed to destination) file location. + InitialFileLocation *FileLocation `type:"structure"` + + // A container object for the session details that are associated with a workflow. + ServiceMetadata *ServiceMetadata `type:"structure"` + + // The status is one of the execution. Can be in progress, completed, exception + // encountered, or handling the exception. + Status *string `type:"string" enum:"ExecutionStatus"` } // String returns the string representation. @@ -8202,7 +13507,7 @@ type ListServersOutput 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 ListServersOutput) String() string { +func (s ListedExecution) String() string { return awsutil.Prettify(s) } @@ -8211,40 +13516,50 @@ func (s ListServersOutput) 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 ListServersOutput) GoString() string { +func (s ListedExecution) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListServersOutput) SetNextToken(v string) *ListServersOutput { - s.NextToken = &v +// SetExecutionId sets the ExecutionId field's value. +func (s *ListedExecution) SetExecutionId(v string) *ListedExecution { + s.ExecutionId = &v return s } -// SetServers sets the Servers field's value. -func (s *ListServersOutput) SetServers(v []*ListedServer) *ListServersOutput { - s.Servers = v +// SetInitialFileLocation sets the InitialFileLocation field's value. +func (s *ListedExecution) SetInitialFileLocation(v *FileLocation) *ListedExecution { + s.InitialFileLocation = v return s } -type ListTagsForResourceInput struct { +// SetServiceMetadata sets the ServiceMetadata field's value. +func (s *ListedExecution) SetServiceMetadata(v *ServiceMetadata) *ListedExecution { + s.ServiceMetadata = v + return s +} + +// SetStatus sets the Status field's value. +func (s *ListedExecution) SetStatus(v string) *ListedExecution { + s.Status = &v + return s +} + +// Returns the properties of the profile that was specified. +type ListedProfile struct { _ struct{} `type:"structure"` - // Requests the tags associated with a particular Amazon Resource Name (ARN). - // An ARN is an identifier for a specific Amazon Web Services resource, such - // as a server, user, or role. - // - // Arn is a required field - Arn *string `min:"20" type:"string" required:"true"` + // The Amazon Resource Name (ARN) of the specified profile. + Arn *string `min:"20" type:"string"` - // Specifies the number of tags to return as a response to the ListTagsForResource - // request. - MaxResults *int64 `min:"1" type:"integer"` + // The unique identifier for the AS2 process. + As2Id *string `min:"1" type:"string"` - // When you request additional results from the ListTagsForResource operation, - // a NextToken parameter is returned in the input. You can then pass in a subsequent - // command to the NextToken parameter to continue listing additional tags. - NextToken *string `min:"1" type:"string"` + // A unique identifier for the local or partner AS2 profile. + ProfileId *string `min:"19" type:"string"` + + // Indicates whether to list only LOCAL type profiles or only PARTNER type profiles. + // If not supplied in the request, the command lists all types of profiles. + ProfileType *string `type:"string" enum:"ProfileType"` } // String returns the string representation. @@ -8252,7 +13567,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 ListedProfile) String() string { return awsutil.Prettify(s) } @@ -8261,64 +13576,93 @@ 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 ListedProfile) 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.Arn == nil { - invalidParams.Add(request.NewErrParamRequired("Arn")) - } - if s.Arn != nil && len(*s.Arn) < 20 { - invalidParams.Add(request.NewErrParamMinLen("Arn", 20)) - } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - if s.NextToken != nil && len(*s.NextToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - // SetArn sets the Arn field's value. -func (s *ListTagsForResourceInput) SetArn(v string) *ListTagsForResourceInput { +func (s *ListedProfile) SetArn(v string) *ListedProfile { s.Arn = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListTagsForResourceInput) SetMaxResults(v int64) *ListTagsForResourceInput { - s.MaxResults = &v +// SetAs2Id sets the As2Id field's value. +func (s *ListedProfile) SetAs2Id(v string) *ListedProfile { + s.As2Id = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput { - s.NextToken = &v +// SetProfileId sets the ProfileId field's value. +func (s *ListedProfile) SetProfileId(v string) *ListedProfile { + s.ProfileId = &v return s } -type ListTagsForResourceOutput struct { +// SetProfileType sets the ProfileType field's value. +func (s *ListedProfile) SetProfileType(v string) *ListedProfile { + s.ProfileType = &v + return s +} + +// Returns properties of a file transfer protocol-enabled server that was specified. +type ListedServer struct { _ struct{} `type:"structure"` - // The ARN you specified to list the tags of. - Arn *string `min:"20" type:"string"` + // Specifies the unique Amazon Resource Name (ARN) for a server to be listed. + // + // Arn is a required field + Arn *string `min:"20" type:"string" required:"true"` - // When you can get additional results from the ListTagsForResource call, a - // NextToken parameter is returned in the output. You can then pass in a subsequent - // command to the NextToken parameter to continue listing additional tags. - NextToken *string `min:"1" type:"string"` + // Specifies the domain of the storage system that is used for file transfers. + Domain *string `type:"string" enum:"Domain"` - // Key-value pairs that are assigned to a resource, usually for the purpose - // of grouping and searching for items. Tags are metadata that you define. - Tags []*Tag `min:"1" type:"list"` + // Specifies the type of VPC endpoint that your server is connected to. If your + // server is connected to a VPC endpoint, your server isn't accessible over + // the public internet. + EndpointType *string `type:"string" enum:"EndpointType"` + + // The mode of authentication for a server. The default value is SERVICE_MANAGED, + // which allows you to store and access user credentials within the Transfer + // Family service. + // + // Use AWS_DIRECTORY_SERVICE to provide access to Active Directory groups in + // Directory Service for Microsoft Active Directory or Microsoft Active Directory + // in your on-premises environment or in Amazon Web Services using AD Connector. + // This option also requires you to provide a Directory ID by using the IdentityProviderDetails + // parameter. + // + // Use the API_GATEWAY value to integrate with an identity provider of your + // choosing. The API_GATEWAY setting requires you to provide an Amazon API Gateway + // endpoint URL to call for authentication by using the IdentityProviderDetails + // parameter. + // + // Use the AWS_LAMBDA value to directly use an Lambda function as your identity + // provider. If you choose this value, you must specify the ARN for the Lambda + // function in the Function parameter or the IdentityProviderDetails data type. + IdentityProviderType *string `type:"string" enum:"IdentityProviderType"` + + // The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) + // role that allows a server to turn on Amazon CloudWatch logging for Amazon + // S3 or Amazon EFSevents. When set, you can view user activity in your CloudWatch + // logs. + LoggingRole *string `min:"20" type:"string"` + + // Specifies the unique system assigned identifier for the servers that were + // listed. + ServerId *string `min:"19" type:"string"` + + // The condition of the server that was described. A value of ONLINE indicates + // that the server can accept jobs and transfer files. A State value of OFFLINE + // means that the server cannot perform file transfer operations. + // + // The states of STARTING and STOPPING indicate that the server is in an intermediate + // state, either not fully able to respond, or not fully offline. The values + // of START_FAILED or STOP_FAILED can indicate an error condition. + State *string `type:"string" enum:"State"` + + // Specifies the number of users that are assigned to a server you specified + // with the ServerId. + UserCount *int64 `type:"integer"` } // String returns the string representation. @@ -8326,7 +13670,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 ListedServer) String() string { return awsutil.Prettify(s) } @@ -8335,44 +13679,104 @@ 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 ListedServer) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *ListTagsForResourceOutput) SetArn(v string) *ListTagsForResourceOutput { - s.Arn = &v +// SetArn sets the Arn field's value. +func (s *ListedServer) SetArn(v string) *ListedServer { + s.Arn = &v + return s +} + +// SetDomain sets the Domain field's value. +func (s *ListedServer) SetDomain(v string) *ListedServer { + s.Domain = &v + return s +} + +// SetEndpointType sets the EndpointType field's value. +func (s *ListedServer) SetEndpointType(v string) *ListedServer { + s.EndpointType = &v + return s +} + +// SetIdentityProviderType sets the IdentityProviderType field's value. +func (s *ListedServer) SetIdentityProviderType(v string) *ListedServer { + s.IdentityProviderType = &v + return s +} + +// SetLoggingRole sets the LoggingRole field's value. +func (s *ListedServer) SetLoggingRole(v string) *ListedServer { + s.LoggingRole = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput { - s.NextToken = &v +// SetServerId sets the ServerId field's value. +func (s *ListedServer) SetServerId(v string) *ListedServer { + s.ServerId = &v return s } -// SetTags sets the Tags field's value. -func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { - s.Tags = v +// SetState sets the State field's value. +func (s *ListedServer) SetState(v string) *ListedServer { + s.State = &v return s } -type ListUsersInput struct { +// SetUserCount sets the UserCount field's value. +func (s *ListedServer) SetUserCount(v int64) *ListedServer { + s.UserCount = &v + return s +} + +// Returns properties of the user that you specify. +type ListedUser struct { _ struct{} `type:"structure"` - // Specifies the number of users to return as a response to the ListUsers request. - MaxResults *int64 `min:"1" type:"integer"` + // Provides the unique Amazon Resource Name (ARN) for the user that you want + // to learn about. + // + // Arn is a required field + Arn *string `min:"20" type:"string" required:"true"` - // When you can get additional results from the ListUsers call, a NextToken - // parameter is returned in the output. You can then pass in a subsequent command - // to the NextToken parameter to continue listing additional users. - NextToken *string `min:"1" type:"string"` + // The landing directory (folder) for a user when they log in to the server + // using the client. + // + // A HomeDirectory example is /bucket_name/home/mydirectory. + HomeDirectory *string `type:"string"` - // A system-assigned unique identifier for a server that has users assigned - // to it. + // The type of landing directory (folder) that you want your users' home directory + // to be when they log in to the server. If you set it to PATH, the user will + // see the absolute Amazon S3 bucket or EFS paths as is in their file transfer + // protocol clients. If you set it LOGICAL, you need to provide mappings in + // the HomeDirectoryMappings for how you want to make Amazon S3 or Amazon EFS + // paths visible to your users. + HomeDirectoryType *string `type:"string" enum:"HomeDirectoryType"` + + // The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) + // role that controls your users' access to your Amazon S3 bucket or Amazon + // EFS file system. The policies attached to this role determine the level of + // access that you want to provide your users when transferring files into and + // out of your Amazon S3 bucket or Amazon EFS file system. The IAM role should + // also contain a trust relationship that allows the server to access your resources + // when servicing your users' transfer requests. // - // ServerId is a required field - ServerId *string `min:"19" type:"string" required:"true"` + // The IAM role that controls your users' access to your Amazon S3 bucket for + // servers with Domain=S3, or your EFS file system for servers with Domain=EFS. + // + // The policies attached to this role determine the level of access you want + // to provide your users when transferring files into and out of your S3 buckets + // or EFS file systems. + Role *string `min:"20" type:"string"` + + // Specifies the number of SSH public keys stored for the user you specified. + SshPublicKeyCount *int64 `type:"integer"` + + // Specifies the name of the user whose ARN was specified. User names are used + // for authentication purposes. + UserName *string `min:"3" type:"string"` } // String returns the string representation. @@ -8380,7 +13784,7 @@ type ListUsersInput 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 ListUsersInput) String() string { +func (s ListedUser) String() string { return awsutil.Prettify(s) } @@ -8389,69 +13793,59 @@ func (s ListUsersInput) 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 ListUsersInput) GoString() string { +func (s ListedUser) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListUsersInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListUsersInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - if s.NextToken != nil && len(*s.NextToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) - } - if s.ServerId == nil { - invalidParams.Add(request.NewErrParamRequired("ServerId")) - } - if s.ServerId != nil && len(*s.ServerId) < 19 { - invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) - } +// SetArn sets the Arn field's value. +func (s *ListedUser) SetArn(v string) *ListedUser { + s.Arn = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetHomeDirectory sets the HomeDirectory field's value. +func (s *ListedUser) SetHomeDirectory(v string) *ListedUser { + s.HomeDirectory = &v + return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListUsersInput) SetMaxResults(v int64) *ListUsersInput { - s.MaxResults = &v +// SetHomeDirectoryType sets the HomeDirectoryType field's value. +func (s *ListedUser) SetHomeDirectoryType(v string) *ListedUser { + s.HomeDirectoryType = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListUsersInput) SetNextToken(v string) *ListUsersInput { - s.NextToken = &v +// SetRole sets the Role field's value. +func (s *ListedUser) SetRole(v string) *ListedUser { + s.Role = &v return s } -// SetServerId sets the ServerId field's value. -func (s *ListUsersInput) SetServerId(v string) *ListUsersInput { - s.ServerId = &v +// SetSshPublicKeyCount sets the SshPublicKeyCount field's value. +func (s *ListedUser) SetSshPublicKeyCount(v int64) *ListedUser { + s.SshPublicKeyCount = &v return s } -type ListUsersOutput struct { +// SetUserName sets the UserName field's value. +func (s *ListedUser) SetUserName(v string) *ListedUser { + s.UserName = &v + return s +} + +// Contains the ID, text description, and Amazon Resource Name (ARN) for the +// workflow. +type ListedWorkflow struct { _ struct{} `type:"structure"` - // When you can get additional results from the ListUsers call, a NextToken - // parameter is returned in the output. You can then pass in a subsequent command - // to the NextToken parameter to continue listing additional users. - NextToken *string `min:"1" type:"string"` + // Specifies the unique Amazon Resource Name (ARN) for the workflow. + Arn *string `min:"20" type:"string"` - // A system-assigned unique identifier for a server that the users are assigned - // to. - // - // ServerId is a required field - ServerId *string `min:"19" type:"string" required:"true"` + // Specifies the text description for the workflow. + Description *string `type:"string"` - // Returns the user accounts and their properties for the ServerId value that - // you specify. - // - // Users is a required field - Users []*ListedUser `type:"list" required:"true"` + // A unique identifier for the workflow. + WorkflowId *string `min:"19" type:"string"` } // String returns the string representation. @@ -8459,7 +13853,7 @@ type ListUsersOutput 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 ListUsersOutput) String() string { +func (s ListedWorkflow) String() string { return awsutil.Prettify(s) } @@ -8468,38 +13862,41 @@ func (s ListUsersOutput) 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 ListUsersOutput) GoString() string { +func (s ListedWorkflow) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListUsersOutput) SetNextToken(v string) *ListUsersOutput { - s.NextToken = &v +// SetArn sets the Arn field's value. +func (s *ListedWorkflow) SetArn(v string) *ListedWorkflow { + s.Arn = &v return s } -// SetServerId sets the ServerId field's value. -func (s *ListUsersOutput) SetServerId(v string) *ListUsersOutput { - s.ServerId = &v +// SetDescription sets the Description field's value. +func (s *ListedWorkflow) SetDescription(v string) *ListedWorkflow { + s.Description = &v return s } -// SetUsers sets the Users field's value. -func (s *ListUsersOutput) SetUsers(v []*ListedUser) *ListUsersOutput { - s.Users = v +// SetWorkflowId sets the WorkflowId field's value. +func (s *ListedWorkflow) SetWorkflowId(v string) *ListedWorkflow { + s.WorkflowId = &v return s } -type ListWorkflowsInput struct { +// Consists of the logging role and the log group name. +type LoggingConfiguration struct { _ struct{} `type:"structure"` - // Specifies the maximum number of workflows to return. - MaxResults *int64 `min:"1" type:"integer"` + // The name of the CloudWatch logging group for the Transfer Family server to + // which this workflow belongs. + LogGroupName *string `min:"1" type:"string"` - // ListWorkflows returns the NextToken parameter in the output. You can then - // pass the NextToken parameter in a subsequent command to continue listing - // additional workflows. - NextToken *string `min:"1" type:"string"` + // The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) + // role that allows a server to turn on Amazon CloudWatch logging for Amazon + // S3 or Amazon EFSevents. When set, you can view user activity in your CloudWatch + // logs. + LoggingRole *string `min:"20" type:"string"` } // String returns the string representation. @@ -8507,7 +13904,7 @@ type ListWorkflowsInput 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 ListWorkflowsInput) String() string { +func (s LoggingConfiguration) String() string { return awsutil.Prettify(s) } @@ -8516,50 +13913,42 @@ func (s ListWorkflowsInput) 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 ListWorkflowsInput) GoString() string { +func (s LoggingConfiguration) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListWorkflowsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListWorkflowsInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - 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 *ListWorkflowsInput) SetMaxResults(v int64) *ListWorkflowsInput { - s.MaxResults = &v +// SetLogGroupName sets the LogGroupName field's value. +func (s *LoggingConfiguration) SetLogGroupName(v string) *LoggingConfiguration { + s.LogGroupName = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListWorkflowsInput) SetNextToken(v string) *ListWorkflowsInput { - s.NextToken = &v +// SetLoggingRole sets the LoggingRole field's value. +func (s *LoggingConfiguration) SetLoggingRole(v string) *LoggingConfiguration { + s.LoggingRole = &v return s } -type ListWorkflowsOutput struct { +// The full POSIX identity, including user ID (Uid), group ID (Gid), and any +// secondary groups IDs (SecondaryGids), that controls your users' access to +// your Amazon EFS file systems. The POSIX permissions that are set on files +// and directories in your file system determine the level of access your users +// get when transferring files into and out of your Amazon EFS file systems. +type PosixProfile struct { _ struct{} `type:"structure"` - // ListWorkflows returns the NextToken parameter in the output. You can then - // pass the NextToken parameter in a subsequent command to continue listing - // additional workflows. - NextToken *string `min:"1" type:"string"` + // The POSIX group ID used for all EFS operations by this user. + // + // Gid is a required field + Gid *int64 `type:"long" required:"true"` - // Returns the Arn, WorkflowId, and Description for each workflow. + // The secondary POSIX group IDs used for all EFS operations by this user. + SecondaryGids []*int64 `type:"list"` + + // The POSIX user ID used for all EFS operations by this user. // - // Workflows is a required field - Workflows []*ListedWorkflow `type:"list" required:"true"` + // Uid is a required field + Uid *int64 `type:"long" required:"true"` } // String returns the string representation. @@ -8567,73 +13956,121 @@ type ListWorkflowsOutput 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 ListWorkflowsOutput) String() string { +func (s PosixProfile) 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 ListWorkflowsOutput) GoString() string { - return s.String() +// 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 PosixProfile) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PosixProfile) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PosixProfile"} + if s.Gid == nil { + invalidParams.Add(request.NewErrParamRequired("Gid")) + } + if s.Uid == nil { + invalidParams.Add(request.NewErrParamRequired("Uid")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGid sets the Gid field's value. +func (s *PosixProfile) SetGid(v int64) *PosixProfile { + s.Gid = &v + return s } -// SetNextToken sets the NextToken field's value. -func (s *ListWorkflowsOutput) SetNextToken(v string) *ListWorkflowsOutput { - s.NextToken = &v +// SetSecondaryGids sets the SecondaryGids field's value. +func (s *PosixProfile) SetSecondaryGids(v []*int64) *PosixProfile { + s.SecondaryGids = v return s } -// SetWorkflows sets the Workflows field's value. -func (s *ListWorkflowsOutput) SetWorkflows(v []*ListedWorkflow) *ListWorkflowsOutput { - s.Workflows = v +// SetUid sets the Uid field's value. +func (s *PosixProfile) SetUid(v int64) *PosixProfile { + s.Uid = &v return s } -// Lists the properties for one or more specified associated accesses. -type ListedAccess struct { +// The protocol settings that are configured for your server. +type ProtocolDetails struct { _ struct{} `type:"structure"` - // A unique identifier that is required to identify specific groups within your - // directory. The users of the group that you associate have access to your - // Amazon S3 or Amazon EFS resources over the enabled protocols using Amazon - // Web Services Transfer Family. If you know the group name, you can view the - // SID values by running the following command using Windows PowerShell. + // Indicates the transport method for the AS2 messages. Currently, only HTTP + // is supported. + As2Transports []*string `min:"1" type:"list" enum:"As2Transport"` + + // Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, + // such as the public IP address of a firewall, router, or load balancer. For + // example: // - // Get-ADGroup -Filter {samAccountName -like "YourGroupName*"} -Properties * - // | Select SamAccountName,ObjectSid + // aws transfer update-server --protocol-details PassiveIp=0.0.0.0 // - // In that command, replace YourGroupName with the name of your Active Directory - // group. + // Replace 0.0.0.0 in the example above with the actual IP address you want + // to use. // - // The regex used to validate this parameter is a string of characters consisting - // of uppercase and lowercase alphanumeric characters with no spaces. You can - // also include underscores or any of the following characters: =,.@:/- - ExternalId *string `min:"1" type:"string"` + // If you change the PassiveIp value, you must stop and then restart your Transfer + // Family server for the change to take effect. For details on using passive + // mode (PASV) in a NAT environment, see Configuring your FTPS server behind + // a firewall or NAT with Transfer Family (http://aws.amazon.com/blogs/storage/configuring-your-ftps-server-behind-a-firewall-or-nat-with-aws-transfer-family/). + PassiveIp *string `type:"string"` - // The landing directory (folder) for a user when they log in to the server - // using the client. + // Use the SetStatOption to ignore the error that is generated when the client + // attempts to use SETSTAT on a file you are uploading to an S3 bucket. // - // A HomeDirectory example is /bucket_name/home/mydirectory. - HomeDirectory *string `type:"string"` - - // The type of landing directory (folder) you want your users' home directory - // to be when they log into the server. If you set it to PATH, the user will - // see the absolute Amazon S3 bucket or EFS paths as is in their file transfer - // protocol clients. If you set it LOGICAL, you need to provide mappings in - // the HomeDirectoryMappings for how you want to make Amazon S3 or EFS paths - // visible to your users. - HomeDirectoryType *string `type:"string" enum:"HomeDirectoryType"` + // Some SFTP file transfer clients can attempt to change the attributes of remote + // files, including timestamp and permissions, using commands, such as SETSTAT + // when uploading the file. However, these commands are not compatible with + // object storage systems, such as Amazon S3. Due to this incompatibility, file + // uploads from these clients can result in errors even when the file is otherwise + // successfully uploaded. + // + // Set the value to ENABLE_NO_OP to have the Transfer Family server ignore the + // SETSTAT command, and upload files without needing to make any changes to + // your SFTP client. While the SetStatOption ENABLE_NO_OP setting ignores the + // error, it does generate a log entry in Amazon CloudWatch Logs, so you can + // determine when the client is making a SETSTAT call. + // + // If you want to preserve the original timestamp for your file, and modify + // other file attributes using SETSTAT, you can use Amazon EFS as backend storage + // with Transfer Family. + SetStatOption *string `type:"string" enum:"SetStatOption"` - // Specifies the Amazon Resource Name (ARN) of the IAM role that controls your - // users' access to your Amazon S3 bucket or EFS file system. The policies attached - // to this role determine the level of access that you want to provide your - // users when transferring files into and out of your Amazon S3 bucket or EFS - // file system. The IAM role should also contain a trust relationship that allows - // the server to access your resources when servicing your users' transfer requests. - Role *string `min:"20" type:"string"` + // A property used with Transfer Family servers that use the FTPS protocol. + // TLS Session Resumption provides a mechanism to resume or share a negotiated + // secret key between the control and data connection for an FTPS session. TlsSessionResumptionMode + // determines whether or not the server resumes recent, negotiated sessions + // through a unique session ID. This property is available during CreateServer + // and UpdateServer calls. If a TlsSessionResumptionMode value is not specified + // during CreateServer, it is set to ENFORCED by default. + // + // * DISABLED: the server does not process TLS session resumption client + // requests and creates a new TLS session for each request. + // + // * ENABLED: the server processes and accepts clients that are performing + // TLS session resumption. The server doesn't reject client data connections + // that do not perform the TLS session resumption client processing. + // + // * ENFORCED: the server processes and accepts clients that are performing + // TLS session resumption. The server rejects client data connections that + // do not perform the TLS session resumption client processing. Before you + // set the value to ENFORCED, test your clients. Not all FTPS clients perform + // TLS session resumption. So, if you choose to enforce TLS session resumption, + // you prevent any connections from FTPS clients that don't perform the protocol + // negotiation. To determine whether or not you can use the ENFORCED value, + // you need to test your clients. + TlsSessionResumptionMode *string `type:"string" enum:"TlsSessionResumptionMode"` } // String returns the string representation. @@ -8641,7 +14078,7 @@ type ListedAccess 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 ListedAccess) String() string { +func (s ProtocolDetails) String() string { return awsutil.Prettify(s) } @@ -8650,52 +14087,59 @@ func (s ListedAccess) 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 ListedAccess) GoString() string { +func (s ProtocolDetails) GoString() string { return s.String() } -// SetExternalId sets the ExternalId field's value. -func (s *ListedAccess) SetExternalId(v string) *ListedAccess { - s.ExternalId = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *ProtocolDetails) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ProtocolDetails"} + if s.As2Transports != nil && len(s.As2Transports) < 1 { + invalidParams.Add(request.NewErrParamMinLen("As2Transports", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetHomeDirectory sets the HomeDirectory field's value. -func (s *ListedAccess) SetHomeDirectory(v string) *ListedAccess { - s.HomeDirectory = &v +// SetAs2Transports sets the As2Transports field's value. +func (s *ProtocolDetails) SetAs2Transports(v []*string) *ProtocolDetails { + s.As2Transports = v return s } -// SetHomeDirectoryType sets the HomeDirectoryType field's value. -func (s *ListedAccess) SetHomeDirectoryType(v string) *ListedAccess { - s.HomeDirectoryType = &v +// SetPassiveIp sets the PassiveIp field's value. +func (s *ProtocolDetails) SetPassiveIp(v string) *ProtocolDetails { + s.PassiveIp = &v return s } -// SetRole sets the Role field's value. -func (s *ListedAccess) SetRole(v string) *ListedAccess { - s.Role = &v +// SetSetStatOption sets the SetStatOption field's value. +func (s *ProtocolDetails) SetSetStatOption(v string) *ProtocolDetails { + s.SetStatOption = &v return s } -// Returns properties of the execution that is specified. -type ListedExecution struct { - _ struct{} `type:"structure"` +// SetTlsSessionResumptionMode sets the TlsSessionResumptionMode field's value. +func (s *ProtocolDetails) SetTlsSessionResumptionMode(v string) *ProtocolDetails { + s.TlsSessionResumptionMode = &v + return s +} - // A unique identifier for the execution of a workflow. - ExecutionId *string `min:"36" type:"string"` +// The requested resource does not exist. +type ResourceExistsException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // A structure that describes the Amazon S3 or EFS file location. This is the - // file location when the execution begins: if the file is being copied, this - // is the initial (as opposed to destination) file location. - InitialFileLocation *FileLocation `type:"structure"` + Message_ *string `locationName:"Message" type:"string"` - // A container object for the session details associated with a workflow. - ServiceMetadata *ServiceMetadata `type:"structure"` + // Resource is a required field + Resource *string `type:"string" required:"true"` - // The status is one of the execution. Can be in progress, completed, exception - // encountered, or handling the exception. - Status *string `type:"string" enum:"ExecutionStatus"` + // ResourceType is a required field + ResourceType *string `type:"string" required:"true"` } // String returns the string representation. @@ -8703,7 +14147,7 @@ type ListedExecution 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 ListedExecution) String() string { +func (s ResourceExistsException) String() string { return awsutil.Prettify(s) } @@ -8712,94 +14156,61 @@ func (s ListedExecution) 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 ListedExecution) GoString() string { +func (s ResourceExistsException) GoString() string { return s.String() } -// SetExecutionId sets the ExecutionId field's value. -func (s *ListedExecution) SetExecutionId(v string) *ListedExecution { - s.ExecutionId = &v - return s +func newErrorResourceExistsException(v protocol.ResponseMetadata) error { + return &ResourceExistsException{ + RespMetadata: v, + } } -// SetInitialFileLocation sets the InitialFileLocation field's value. -func (s *ListedExecution) SetInitialFileLocation(v *FileLocation) *ListedExecution { - s.InitialFileLocation = v - return s +// Code returns the exception type name. +func (s *ResourceExistsException) Code() string { + return "ResourceExistsException" } -// SetServiceMetadata sets the ServiceMetadata field's value. -func (s *ListedExecution) SetServiceMetadata(v *ServiceMetadata) *ListedExecution { - s.ServiceMetadata = v - return s +// Message returns the exception's message. +func (s *ResourceExistsException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// SetStatus sets the Status field's value. -func (s *ListedExecution) SetStatus(v string) *ListedExecution { - s.Status = &v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceExistsException) OrigErr() error { + return nil } -// Returns properties of a file transfer protocol-enabled server that was specified. -type ListedServer struct { - _ struct{} `type:"structure"` - - // Specifies the unique Amazon Resource Name (ARN) for a server to be listed. - // - // Arn is a required field - Arn *string `min:"20" type:"string" required:"true"` - - // Specifies the domain of the storage system that is used for file transfers. - Domain *string `type:"string" enum:"Domain"` +func (s *ResourceExistsException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} - // Specifies the type of VPC endpoint that your server is connected to. If your - // server is connected to a VPC endpoint, your server isn't accessible over - // the public internet. - EndpointType *string `type:"string" enum:"EndpointType"` +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceExistsException) StatusCode() int { + return s.RespMetadata.StatusCode +} - // Specifies the mode of authentication for a server. The default value is SERVICE_MANAGED, - // which allows you to store and access user credentials within the Amazon Web - // Services Transfer Family service. - // - // Use AWS_DIRECTORY_SERVICE to provide access to Active Directory groups in - // Amazon Web Services Managed Active Directory or Microsoft Active Directory - // in your on-premises environment or in Amazon Web Services using AD Connectors. - // This option also requires you to provide a Directory ID using the IdentityProviderDetails - // parameter. - // - // Use the API_GATEWAY value to integrate with an identity provider of your - // choosing. The API_GATEWAY setting requires you to provide an API Gateway - // endpoint URL to call for authentication using the IdentityProviderDetails - // parameter. - // - // Use the AWS_LAMBDA value to directly use a Lambda function as your identity - // provider. If you choose this value, you must specify the ARN for the lambda - // function in the Function parameter for the IdentityProviderDetails data type. - IdentityProviderType *string `type:"string" enum:"IdentityProviderType"` +// RequestID returns the service's response RequestID for request. +func (s *ResourceExistsException) RequestID() string { + return s.RespMetadata.RequestID +} - // Specifies the Amazon Resource Name (ARN) of the Amazon Web Services Identity - // and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch - // logging for Amazon S3 or Amazon EFS events. When set, user activity can be - // viewed in your CloudWatch logs. - LoggingRole *string `min:"20" type:"string"` +// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer +// Family service. +type ResourceNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // Specifies the unique system assigned identifier for the servers that were - // listed. - ServerId *string `min:"19" type:"string"` + Message_ *string `locationName:"Message" type:"string"` - // Specifies the condition of a server for the server that was described. A - // value of ONLINE indicates that the server can accept jobs and transfer files. - // A State value of OFFLINE means that the server cannot perform file transfer - // operations. - // - // The states of STARTING and STOPPING indicate that the server is in an intermediate - // state, either not fully able to respond, or not fully offline. The values - // of START_FAILED or STOP_FAILED can indicate an error condition. - State *string `type:"string" enum:"State"` + // Resource is a required field + Resource *string `type:"string" required:"true"` - // Specifies the number of users that are assigned to a server you specified - // with the ServerId. - UserCount *int64 `type:"integer"` + // ResourceType is a required field + ResourceType *string `type:"string" required:"true"` } // String returns the string representation. @@ -8807,7 +14218,7 @@ type ListedServer 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 ListedServer) String() string { +func (s ResourceNotFoundException) String() string { return awsutil.Prettify(s) } @@ -8816,103 +14227,66 @@ func (s ListedServer) 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 ListedServer) GoString() string { +func (s ResourceNotFoundException) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *ListedServer) SetArn(v string) *ListedServer { - s.Arn = &v - return s -} - -// SetDomain sets the Domain field's value. -func (s *ListedServer) SetDomain(v string) *ListedServer { - s.Domain = &v - return s +func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { + return &ResourceNotFoundException{ + RespMetadata: v, + } } -// SetEndpointType sets the EndpointType field's value. -func (s *ListedServer) SetEndpointType(v string) *ListedServer { - s.EndpointType = &v - return s +// Code returns the exception type name. +func (s *ResourceNotFoundException) Code() string { + return "ResourceNotFoundException" } -// SetIdentityProviderType sets the IdentityProviderType field's value. -func (s *ListedServer) SetIdentityProviderType(v string) *ListedServer { - s.IdentityProviderType = &v - return s +// Message returns the exception's message. +func (s *ResourceNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// SetLoggingRole sets the LoggingRole field's value. -func (s *ListedServer) SetLoggingRole(v string) *ListedServer { - s.LoggingRole = &v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceNotFoundException) OrigErr() error { + return nil } -// SetServerId sets the ServerId field's value. -func (s *ListedServer) SetServerId(v string) *ListedServer { - s.ServerId = &v - return s +func (s *ResourceNotFoundException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } -// SetState sets the State field's value. -func (s *ListedServer) SetState(v string) *ListedServer { - s.State = &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 } -// SetUserCount sets the UserCount field's value. -func (s *ListedServer) SetUserCount(v int64) *ListedServer { - s.UserCount = &v - return s +// RequestID returns the service's response RequestID for request. +func (s *ResourceNotFoundException) RequestID() string { + return s.RespMetadata.RequestID } -// Returns properties of the user that you specify. -type ListedUser struct { +// Specifies the details for the file location for the file that's being used +// in the workflow. Only applicable if you are using S3 storage. +type S3FileLocation struct { _ struct{} `type:"structure"` - // Provides the unique Amazon Resource Name (ARN) for the user that you want - // to learn about. - // - // Arn is a required field - Arn *string `min:"20" type:"string" required:"true"` - - // The landing directory (folder) for a user when they log in to the server - // using the client. - // - // A HomeDirectory example is /bucket_name/home/mydirectory. - HomeDirectory *string `type:"string"` - - // The type of landing directory (folder) you want your users' home directory - // to be when they log into the server. If you set it to PATH, the user will - // see the absolute Amazon S3 bucket or EFS paths as is in their file transfer - // protocol clients. If you set it LOGICAL, you need to provide mappings in - // the HomeDirectoryMappings for how you want to make Amazon S3 or EFS paths - // visible to your users. - HomeDirectoryType *string `type:"string" enum:"HomeDirectoryType"` + // Specifies the S3 bucket that contains the file being used. + Bucket *string `min:"3" type:"string"` - // Specifies the Amazon Resource Name (ARN) of the IAM role that controls your - // users' access to your Amazon S3 bucket or EFS file system. The policies attached - // to this role determine the level of access that you want to provide your - // users when transferring files into and out of your Amazon S3 bucket or EFS - // file system. The IAM role should also contain a trust relationship that allows - // the server to access your resources when servicing your users' transfer requests. - // - // The IAM role that controls your users' access to your Amazon S3 bucket for - // servers with Domain=S3, or your EFS file system for servers with Domain=EFS. - // - // The policies attached to this role determine the level of access you want - // to provide your users when transferring files into and out of your S3 buckets - // or EFS file systems. - Role *string `min:"20" type:"string"` + // The entity tag is a hash of the object. The ETag reflects changes only to + // the contents of an object, not its metadata. + Etag *string `min:"1" type:"string"` - // Specifies the number of SSH public keys stored for the user you specified. - SshPublicKeyCount *int64 `type:"integer"` + // The name assigned to the file when it was created in Amazon S3. You use the + // object key to retrieve the object. + Key *string `type:"string"` - // Specifies the name of the user whose ARN was specified. User names are used - // for authentication purposes. - UserName *string `min:"3" type:"string"` + // Specifies the file version. + VersionId *string `min:"1" type:"string"` } // String returns the string representation. @@ -8920,7 +14294,7 @@ type ListedUser 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 ListedUser) String() string { +func (s S3FileLocation) String() string { return awsutil.Prettify(s) } @@ -8929,59 +14303,57 @@ func (s ListedUser) 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 ListedUser) GoString() string { +func (s S3FileLocation) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *ListedUser) SetArn(v string) *ListedUser { - s.Arn = &v - return s -} - -// SetHomeDirectory sets the HomeDirectory field's value. -func (s *ListedUser) SetHomeDirectory(v string) *ListedUser { - s.HomeDirectory = &v - return s -} - -// SetHomeDirectoryType sets the HomeDirectoryType field's value. -func (s *ListedUser) SetHomeDirectoryType(v string) *ListedUser { - s.HomeDirectoryType = &v +// SetBucket sets the Bucket field's value. +func (s *S3FileLocation) SetBucket(v string) *S3FileLocation { + s.Bucket = &v return s } -// SetRole sets the Role field's value. -func (s *ListedUser) SetRole(v string) *ListedUser { - s.Role = &v +// SetEtag sets the Etag field's value. +func (s *S3FileLocation) SetEtag(v string) *S3FileLocation { + s.Etag = &v return s } -// SetSshPublicKeyCount sets the SshPublicKeyCount field's value. -func (s *ListedUser) SetSshPublicKeyCount(v int64) *ListedUser { - s.SshPublicKeyCount = &v +// SetKey sets the Key field's value. +func (s *S3FileLocation) SetKey(v string) *S3FileLocation { + s.Key = &v return s } -// SetUserName sets the UserName field's value. -func (s *ListedUser) SetUserName(v string) *ListedUser { - s.UserName = &v +// SetVersionId sets the VersionId field's value. +func (s *S3FileLocation) SetVersionId(v string) *S3FileLocation { + s.VersionId = &v return s } -// Contains the ID, text description, and Amazon Resource Name (ARN) for the -// workflow. -type ListedWorkflow struct { +// Specifies the customer input S3 file location. If it is used inside copyStepDetails.DestinationFileLocation, +// it should be the S3 copy destination. +// +// You need to provide the bucket and key. The key can represent either a path +// or a file. This is determined by whether or not you end the key value with +// the forward slash (/) character. If the final character is "/", then your +// file is copied to the folder, and its name does not change. If, rather, the +// final character is alphanumeric, your uploaded file is renamed to the path +// value. In this case, if a file with that name already exists, it is overwritten. +// +// For example, if your path is shared-files/bob/, your uploaded files are copied +// to the shared-files/bob/, folder. If your path is shared-files/today, each +// uploaded file is copied to the shared-files folder and named today: each +// upload overwrites the previous version of the bob file. +type S3InputFileLocation struct { _ struct{} `type:"structure"` - // Specifies the unique Amazon Resource Name (ARN) for the workflow. - Arn *string `min:"20" type:"string"` - - // Specifies the text description for the workflow. - Description *string `type:"string"` + // Specifies the S3 bucket for the customer input file. + Bucket *string `min:"3" type:"string"` - // A unique identifier for the workflow. - WorkflowId *string `min:"19" type:"string"` + // The name assigned to the file when it was created in Amazon S3. You use the + // object key to retrieve the object. + Key *string `type:"string"` } // String returns the string representation. @@ -8989,7 +14361,7 @@ type ListedWorkflow 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 ListedWorkflow) String() string { +func (s S3InputFileLocation) String() string { return awsutil.Prettify(s) } @@ -8998,41 +14370,49 @@ func (s ListedWorkflow) 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 ListedWorkflow) GoString() string { +func (s S3InputFileLocation) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *ListedWorkflow) SetArn(v string) *ListedWorkflow { - s.Arn = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *S3InputFileLocation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "S3InputFileLocation"} + if s.Bucket != nil && len(*s.Bucket) < 3 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetDescription sets the Description field's value. -func (s *ListedWorkflow) SetDescription(v string) *ListedWorkflow { - s.Description = &v +// SetBucket sets the Bucket field's value. +func (s *S3InputFileLocation) SetBucket(v string) *S3InputFileLocation { + s.Bucket = &v return s } -// SetWorkflowId sets the WorkflowId field's value. -func (s *ListedWorkflow) SetWorkflowId(v string) *ListedWorkflow { - s.WorkflowId = &v +// SetKey sets the Key field's value. +func (s *S3InputFileLocation) SetKey(v string) *S3InputFileLocation { + s.Key = &v return s } -// Consists of the logging role and the log group name. -type LoggingConfiguration struct { +// Specifies the key-value pair that are assigned to a file during the execution +// of a Tagging step. +type S3Tag struct { _ struct{} `type:"structure"` - // The name of the CloudWatch logging group for the Amazon Web Services Transfer - // server to which this workflow belongs. - LogGroupName *string `min:"1" type:"string"` + // The name assigned to the tag that you create. + // + // Key is a required field + Key *string `min:"1" type:"string" required:"true"` - // Specifies the Amazon Resource Name (ARN) of the Amazon Web Services Identity - // and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch - // logging for Amazon S3 or Amazon EFS events. When set, user activity can be - // viewed in your CloudWatch logs. - LoggingRole *string `min:"20" type:"string"` + // The value that corresponds to the key. + // + // Value is a required field + Value *string `type:"string" required:"true"` } // String returns the string representation. @@ -9040,7 +14420,7 @@ type LoggingConfiguration 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 LoggingConfiguration) String() string { +func (s S3Tag) String() string { return awsutil.Prettify(s) } @@ -9049,42 +14429,64 @@ func (s LoggingConfiguration) 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 LoggingConfiguration) GoString() string { +func (s S3Tag) GoString() string { return s.String() } -// SetLogGroupName sets the LogGroupName field's value. -func (s *LoggingConfiguration) SetLogGroupName(v string) *LoggingConfiguration { - s.LogGroupName = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *S3Tag) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "S3Tag"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *S3Tag) SetKey(v string) *S3Tag { + s.Key = &v return s } -// SetLoggingRole sets the LoggingRole field's value. -func (s *LoggingConfiguration) SetLoggingRole(v string) *LoggingConfiguration { - s.LoggingRole = &v +// SetValue sets the Value field's value. +func (s *S3Tag) SetValue(v string) *S3Tag { + s.Value = &v return s } -// The full POSIX identity, including user ID (Uid), group ID (Gid), and any -// secondary groups IDs (SecondaryGids), that controls your users' access to -// your Amazon EFS file systems. The POSIX permissions that are set on files -// and directories in your file system determine the level of access your users -// get when transferring files into and out of your Amazon EFS file systems. -type PosixProfile struct { +type SendWorkflowStepStateInput struct { _ struct{} `type:"structure"` - // The POSIX group ID used for all EFS operations by this user. + // A unique identifier for the execution of a workflow. + // + // ExecutionId is a required field + ExecutionId *string `min:"36" type:"string" required:"true"` + + // Indicates whether the specified step succeeded or failed. // - // Gid is a required field - Gid *int64 `type:"long" required:"true"` + // Status is a required field + Status *string `type:"string" required:"true" enum:"CustomStepStatus"` - // The secondary POSIX group IDs used for all EFS operations by this user. - SecondaryGids []*int64 `type:"list"` + // Used to distinguish between multiple callbacks for multiple Lambda steps + // within the same execution. + // + // Token is a required field + Token *string `min:"1" type:"string" required:"true"` - // The POSIX user ID used for all EFS operations by this user. + // A unique identifier for the workflow. // - // Uid is a required field - Uid *int64 `type:"long" required:"true"` + // WorkflowId is a required field + WorkflowId *string `min:"19" type:"string" required:"true"` } // String returns the string representation. @@ -9092,7 +14494,7 @@ type PosixProfile 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 PosixProfile) String() string { +func (s SendWorkflowStepStateInput) String() string { return awsutil.Prettify(s) } @@ -9101,18 +14503,33 @@ func (s PosixProfile) 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 PosixProfile) GoString() string { +func (s SendWorkflowStepStateInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *PosixProfile) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "PosixProfile"} - if s.Gid == nil { - invalidParams.Add(request.NewErrParamRequired("Gid")) +func (s *SendWorkflowStepStateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SendWorkflowStepStateInput"} + if s.ExecutionId == nil { + invalidParams.Add(request.NewErrParamRequired("ExecutionId")) } - if s.Uid == nil { - invalidParams.Add(request.NewErrParamRequired("Uid")) + if s.ExecutionId != nil && len(*s.ExecutionId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ExecutionId", 36)) + } + if s.Status == nil { + invalidParams.Add(request.NewErrParamRequired("Status")) + } + if s.Token == nil { + invalidParams.Add(request.NewErrParamRequired("Token")) + } + if s.Token != nil && len(*s.Token) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Token", 1)) + } + if s.WorkflowId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkflowId")) + } + if s.WorkflowId != nil && len(*s.WorkflowId) < 19 { + invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 19)) } if invalidParams.Len() > 0 { @@ -9121,88 +14538,32 @@ func (s *PosixProfile) Validate() error { return nil } -// SetGid sets the Gid field's value. -func (s *PosixProfile) SetGid(v int64) *PosixProfile { - s.Gid = &v +// SetExecutionId sets the ExecutionId field's value. +func (s *SendWorkflowStepStateInput) SetExecutionId(v string) *SendWorkflowStepStateInput { + s.ExecutionId = &v return s } -// SetSecondaryGids sets the SecondaryGids field's value. -func (s *PosixProfile) SetSecondaryGids(v []*int64) *PosixProfile { - s.SecondaryGids = v +// SetStatus sets the Status field's value. +func (s *SendWorkflowStepStateInput) SetStatus(v string) *SendWorkflowStepStateInput { + s.Status = &v return s } -// SetUid sets the Uid field's value. -func (s *PosixProfile) SetUid(v int64) *PosixProfile { - s.Uid = &v +// SetToken sets the Token field's value. +func (s *SendWorkflowStepStateInput) SetToken(v string) *SendWorkflowStepStateInput { + s.Token = &v return s } -// The protocol settings that are configured for your server. -type ProtocolDetails struct { - _ struct{} `type:"structure"` - - // Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, - // such as the public IP address of a firewall, router, or load balancer. For - // example: - // - // aws transfer update-server --protocol-details PassiveIp=0.0.0.0 - // - // Replace 0.0.0.0 in the example above with the actual IP address you want - // to use. - // - // If you change the PassiveIp value, you must stop and then restart your Transfer - // Family server for the change to take effect. For details on using passive - // mode (PASV) in a NAT environment, see Configuring your FTPS server behind - // a firewall or NAT with Transfer Family (http://aws.amazon.com/blogs/storage/configuring-your-ftps-server-behind-a-firewall-or-nat-with-aws-transfer-family/). - PassiveIp *string `type:"string"` - - // Use the SetStatOption to ignore the error that is generated when the client - // attempts to use SETSTAT on a file you are uploading to an S3 bucket. - // - // Some SFTP file transfer clients can attempt to change the attributes of remote - // files, including timestamp and permissions, using commands, such as SETSTAT - // when uploading the file. However, these commands are not compatible with - // object storage systems, such as Amazon S3. Due to this incompatibility, file - // uploads from these clients can result in errors even when the file is otherwise - // successfully uploaded. - // - // Set the value to ENABLE_NO_OP to have the Transfer Family server ignore the - // SETSTAT command, and upload files without needing to make any changes to - // your SFTP client. While the SetStatOption ENABLE_NO_OP setting ignores the - // error, it does generate a log entry in Amazon CloudWatch Logs, so you can - // determine when the client is making a SETSTAT call. - // - // If you want to preserve the original timestamp for your file, and modify - // other file attributes using SETSTAT, you can use Amazon EFS as backend storage - // with Transfer Family. - SetStatOption *string `type:"string" enum:"SetStatOption"` +// SetWorkflowId sets the WorkflowId field's value. +func (s *SendWorkflowStepStateInput) SetWorkflowId(v string) *SendWorkflowStepStateInput { + s.WorkflowId = &v + return s +} - // A property used with Transfer Family servers that use the FTPS protocol. - // TLS Session Resumption provides a mechanism to resume or share a negotiated - // secret key between the control and data connection for an FTPS session. TlsSessionResumptionMode - // determines whether or not the server resumes recent, negotiated sessions - // through a unique session ID. This property is available during CreateServer - // and UpdateServer calls. If a TlsSessionResumptionMode value is not specified - // during CreateServer, it is set to ENFORCED by default. - // - // * DISABLED: the server does not process TLS session resumption client - // requests and creates a new TLS session for each request. - // - // * ENABLED: the server processes and accepts clients that are performing - // TLS session resumption. The server doesn't reject client data connections - // that do not perform the TLS session resumption client processing. - // - // * ENFORCED: the server processes and accepts clients that are performing - // TLS session resumption. The server rejects client data connections that - // do not perform the TLS session resumption client processing. Before you - // set the value to ENFORCED, test your clients. Not all FTPS clients perform - // TLS session resumption. So, if you choose to enforce TLS session resumption, - // you prevent any connections from FTPS clients that don't perform the protocol - // negotiation. To determine whether or not you can use the ENFORCED value, - // you need to test your clients. - TlsSessionResumptionMode *string `type:"string" enum:"TlsSessionResumptionMode"` +type SendWorkflowStepStateOutput struct { + _ struct{} `type:"structure"` } // String returns the string representation. @@ -9210,7 +14571,7 @@ type ProtocolDetails 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 ProtocolDetails) String() string { +func (s SendWorkflowStepStateOutput) String() string { return awsutil.Prettify(s) } @@ -9219,40 +14580,19 @@ func (s ProtocolDetails) 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 ProtocolDetails) GoString() string { +func (s SendWorkflowStepStateOutput) GoString() string { return s.String() } -// SetPassiveIp sets the PassiveIp field's value. -func (s *ProtocolDetails) SetPassiveIp(v string) *ProtocolDetails { - s.PassiveIp = &v - return s -} - -// SetSetStatOption sets the SetStatOption field's value. -func (s *ProtocolDetails) SetSetStatOption(v string) *ProtocolDetails { - s.SetStatOption = &v - return s -} - -// SetTlsSessionResumptionMode sets the TlsSessionResumptionMode field's value. -func (s *ProtocolDetails) SetTlsSessionResumptionMode(v string) *ProtocolDetails { - s.TlsSessionResumptionMode = &v - return s -} - -// The requested resource does not exist. -type ResourceExistsException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - - Message_ *string `locationName:"Message" type:"string"` - - // Resource is a required field - Resource *string `type:"string" required:"true"` +// A container object for the session details that are associated with a workflow. +type ServiceMetadata struct { + _ struct{} `type:"structure"` - // ResourceType is a required field - ResourceType *string `type:"string" required:"true"` + // The Server ID (ServerId), Session ID (SessionId) and user (UserName) make + // up the UserDetails. + // + // UserDetails is a required field + UserDetails *UserDetails `type:"structure" required:"true"` } // String returns the string representation. @@ -9260,7 +14600,7 @@ type ResourceExistsException 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 ResourceExistsException) String() string { +func (s ServiceMetadata) String() string { return awsutil.Prettify(s) } @@ -9269,61 +14609,23 @@ func (s ResourceExistsException) 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 ResourceExistsException) GoString() string { +func (s ServiceMetadata) GoString() string { return s.String() } -func newErrorResourceExistsException(v protocol.ResponseMetadata) error { - return &ResourceExistsException{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *ResourceExistsException) Code() string { - return "ResourceExistsException" -} - -// Message returns the exception's message. -func (s *ResourceExistsException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} - -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ResourceExistsException) OrigErr() error { - return nil -} - -func (s *ResourceExistsException) 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 *ResourceExistsException) StatusCode() int { - return s.RespMetadata.StatusCode -} - -// RequestID returns the service's response RequestID for request. -func (s *ResourceExistsException) RequestID() string { - return s.RespMetadata.RequestID +// SetUserDetails sets the UserDetails field's value. +func (s *ServiceMetadata) SetUserDetails(v *UserDetails) *ServiceMetadata { + s.UserDetails = v + return s } -// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer -// Family service. -type ResourceNotFoundException struct { +// The request has failed because the Amazon Web ServicesTransfer Family service +// is not available. +type ServiceUnavailableException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` Message_ *string `locationName:"Message" type:"string"` - - // Resource is a required field - Resource *string `type:"string" required:"true"` - - // ResourceType is a required field - ResourceType *string `type:"string" required:"true"` } // String returns the string representation. @@ -9331,7 +14633,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 ServiceUnavailableException) String() string { return awsutil.Prettify(s) } @@ -9340,23 +14642,23 @@ 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 ServiceUnavailableException) GoString() string { return s.String() } -func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { - return &ResourceNotFoundException{ +func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error { + return &ServiceUnavailableException{ RespMetadata: v, } } // Code returns the exception type name. -func (s *ResourceNotFoundException) Code() string { - return "ResourceNotFoundException" +func (s *ServiceUnavailableException) Code() string { + return "ServiceUnavailableException" } // Message returns the exception's message. -func (s *ResourceNotFoundException) Message() string { +func (s *ServiceUnavailableException) Message() string { if s.Message_ != nil { return *s.Message_ } @@ -9364,42 +14666,50 @@ func (s *ResourceNotFoundException) Message() string { } // OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ResourceNotFoundException) OrigErr() error { +func (s *ServiceUnavailableException) OrigErr() error { return nil } -func (s *ResourceNotFoundException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +func (s *ServiceUnavailableException) 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 *ResourceNotFoundException) StatusCode() int { +func (s *ServiceUnavailableException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. -func (s *ResourceNotFoundException) RequestID() string { +func (s *ServiceUnavailableException) RequestID() string { return s.RespMetadata.RequestID } -// Specifies the details for the file location for the file being used in the -// workflow. Only applicable if you are using S3 storage. -type S3FileLocation struct { +// Provides information about the public Secure Shell (SSH) key that is associated +// with a user account for the specific file transfer protocol-enabled server +// (as identified by ServerId). The information returned includes the date the +// key was imported, the public key contents, and the public key ID. A user +// can store more than one SSH public key associated with their user name on +// a specific server. +type SshPublicKey struct { _ struct{} `type:"structure"` - // Specifies the S3 bucket that contains the file being used. - Bucket *string `min:"3" type:"string"` - - // The entity tag is a hash of the object. The ETag reflects changes only to - // the contents of an object, not its metadata. - Etag *string `min:"1" type:"string"` + // Specifies the date that the public key was added to the user account. + // + // DateImported is a required field + DateImported *time.Time `type:"timestamp" required:"true"` - // The name assigned to the file when it was created in S3. You use the object - // key to retrieve the object. - Key *string `type:"string"` + // Specifies the content of the SSH public key as specified by the PublicKeyId. + // + // Transfer Family accepts RSA, ECDSA, and ED25519 keys. + // + // SshPublicKeyBody is a required field + SshPublicKeyBody *string `type:"string" required:"true"` - // Specifies the file version. - VersionId *string `min:"1" type:"string"` + // Specifies the SshPublicKeyId parameter contains the identifier of the public + // key. + // + // SshPublicKeyId is a required field + SshPublicKeyId *string `min:"21" type:"string" required:"true"` } // String returns the string representation. @@ -9407,7 +14717,7 @@ type S3FileLocation 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 S3FileLocation) String() string { +func (s SshPublicKey) String() string { return awsutil.Prettify(s) } @@ -9416,57 +14726,41 @@ func (s S3FileLocation) 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 S3FileLocation) GoString() string { +func (s SshPublicKey) GoString() string { return s.String() } -// SetBucket sets the Bucket field's value. -func (s *S3FileLocation) SetBucket(v string) *S3FileLocation { - s.Bucket = &v - return s -} - -// SetEtag sets the Etag field's value. -func (s *S3FileLocation) SetEtag(v string) *S3FileLocation { - s.Etag = &v +// SetDateImported sets the DateImported field's value. +func (s *SshPublicKey) SetDateImported(v time.Time) *SshPublicKey { + s.DateImported = &v return s } -// SetKey sets the Key field's value. -func (s *S3FileLocation) SetKey(v string) *S3FileLocation { - s.Key = &v +// SetSshPublicKeyBody sets the SshPublicKeyBody field's value. +func (s *SshPublicKey) SetSshPublicKeyBody(v string) *SshPublicKey { + s.SshPublicKeyBody = &v return s } -// SetVersionId sets the VersionId field's value. -func (s *S3FileLocation) SetVersionId(v string) *S3FileLocation { - s.VersionId = &v +// SetSshPublicKeyId sets the SshPublicKeyId field's value. +func (s *SshPublicKey) SetSshPublicKeyId(v string) *SshPublicKey { + s.SshPublicKeyId = &v return s } -// Specifies the customer input S3 file location. If it is used inside copyStepDetails.DestinationFileLocation, -// it should be the S3 copy destination. -// -// You need to provide the bucket and key. The key can represent either a path -// or a file. This is determined by whether or not you end the key value with -// the forward slash (/) character. If the final character is "/", then your -// file is copied to the folder, and its name does not change. If, rather, the -// final character is alphanumeric, your uploaded file is renamed to the path -// value. In this case, if a file with that name already exists, it is overwritten. -// -// For example, if your path is shared-files/bob/, your uploaded files are copied -// to the shared-files/bob/, folder. If your path is shared-files/today, each -// uploaded file is copied to the shared-files folder and named today: each -// upload overwrites the previous version of the bob file. -type S3InputFileLocation struct { +type StartFileTransferInput struct { _ struct{} `type:"structure"` - // Specifies the S3 bucket for the customer input file. - Bucket *string `min:"3" type:"string"` + // The unique identifier for the connector. + // + // ConnectorId is a required field + ConnectorId *string `min:"19" type:"string" required:"true"` - // The name assigned to the file when it was created in S3. You use the object - // key to retrieve the object. - Key *string `type:"string"` + // An array of strings. Each string represents the absolute path for one outbound + // file transfer. For example, DOC-EXAMPLE-BUCKET/myfile.txt . + // + // SendFilePaths is a required field + SendFilePaths []*string `min:"1" type:"list" required:"true"` } // String returns the string representation. @@ -9474,7 +14768,7 @@ type S3InputFileLocation 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 S3InputFileLocation) String() string { +func (s StartFileTransferInput) String() string { return awsutil.Prettify(s) } @@ -9483,15 +14777,24 @@ func (s S3InputFileLocation) 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 S3InputFileLocation) GoString() string { +func (s StartFileTransferInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *S3InputFileLocation) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "S3InputFileLocation"} - if s.Bucket != nil && len(*s.Bucket) < 3 { - invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) +func (s *StartFileTransferInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartFileTransferInput"} + if s.ConnectorId == nil { + invalidParams.Add(request.NewErrParamRequired("ConnectorId")) + } + if s.ConnectorId != nil && len(*s.ConnectorId) < 19 { + invalidParams.Add(request.NewErrParamMinLen("ConnectorId", 19)) + } + if s.SendFilePaths == nil { + invalidParams.Add(request.NewErrParamRequired("SendFilePaths")) + } + if s.SendFilePaths != nil && len(s.SendFilePaths) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SendFilePaths", 1)) } if invalidParams.Len() > 0 { @@ -9500,32 +14803,58 @@ func (s *S3InputFileLocation) Validate() error { return nil } -// SetBucket sets the Bucket field's value. -func (s *S3InputFileLocation) SetBucket(v string) *S3InputFileLocation { - s.Bucket = &v +// SetConnectorId sets the ConnectorId field's value. +func (s *StartFileTransferInput) SetConnectorId(v string) *StartFileTransferInput { + s.ConnectorId = &v return s } -// SetKey sets the Key field's value. -func (s *S3InputFileLocation) SetKey(v string) *S3InputFileLocation { - s.Key = &v +// SetSendFilePaths sets the SendFilePaths field's value. +func (s *StartFileTransferInput) SetSendFilePaths(v []*string) *StartFileTransferInput { + s.SendFilePaths = v return s } -// Specifies the key-value pair that are assigned to a file during the execution -// of a Tagging step. -type S3Tag struct { +type StartFileTransferOutput struct { _ struct{} `type:"structure"` - // The name assigned to the tag that you create. + // Returns the unique identifier for this file transfer. // - // Key is a required field - Key *string `min:"1" type:"string" required:"true"` + // TransferId is a required field + TransferId *string `min:"1" type:"string" required:"true"` +} - // The value that corresponds to the key. +// 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 StartFileTransferOutput) 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 StartFileTransferOutput) GoString() string { + return s.String() +} + +// SetTransferId sets the TransferId field's value. +func (s *StartFileTransferOutput) SetTransferId(v string) *StartFileTransferOutput { + s.TransferId = &v + return s +} + +type StartServerInput struct { + _ struct{} `type:"structure"` + + // A system-assigned unique identifier for a server that you start. // - // Value is a required field - Value *string `type:"string" required:"true"` + // ServerId is a required field + ServerId *string `min:"19" type:"string" required:"true"` } // String returns the string representation. @@ -9533,7 +14862,7 @@ type S3Tag 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 S3Tag) String() string { +func (s StartServerInput) String() string { return awsutil.Prettify(s) } @@ -9542,21 +14871,18 @@ func (s S3Tag) 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 S3Tag) GoString() string { +func (s StartServerInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *S3Tag) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "S3Tag"} - if s.Key == nil { - invalidParams.Add(request.NewErrParamRequired("Key")) - } - if s.Key != nil && len(*s.Key) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Key", 1)) +func (s *StartServerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartServerInput"} + if s.ServerId == nil { + invalidParams.Add(request.NewErrParamRequired("ServerId")) } - if s.Value == nil { - invalidParams.Add(request.NewErrParamRequired("Value")) + if s.ServerId != nil && len(*s.ServerId) < 19 { + invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) } if invalidParams.Len() > 0 { @@ -9565,41 +14891,41 @@ func (s *S3Tag) Validate() error { return nil } -// SetKey sets the Key field's value. -func (s *S3Tag) SetKey(v string) *S3Tag { - s.Key = &v - return s -} - -// SetValue sets the Value field's value. -func (s *S3Tag) SetValue(v string) *S3Tag { - s.Value = &v +// SetServerId sets the ServerId field's value. +func (s *StartServerInput) SetServerId(v string) *StartServerInput { + s.ServerId = &v return s } -type SendWorkflowStepStateInput struct { +type StartServerOutput struct { _ struct{} `type:"structure"` +} - // A unique identifier for the execution of a workflow. - // - // ExecutionId is a required field - ExecutionId *string `min:"36" 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 StartServerOutput) String() string { + return awsutil.Prettify(s) +} - // Indicates whether the specified step succeeded or failed. - // - // Status is a required field - Status *string `type:"string" required:"true" enum:"CustomStepStatus"` +// 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 StartServerOutput) GoString() string { + return s.String() +} - // Used to distinguish between multiple callbacks for multiple Lambda steps - // within the same execution. - // - // Token is a required field - Token *string `min:"1" type:"string" required:"true"` +type StopServerInput struct { + _ struct{} `type:"structure"` - // A unique identifier for the workflow. + // A system-assigned unique identifier for a server that you stopped. // - // WorkflowId is a required field - WorkflowId *string `min:"19" type:"string" required:"true"` + // ServerId is a required field + ServerId *string `min:"19" type:"string" required:"true"` } // String returns the string representation. @@ -9607,7 +14933,7 @@ type SendWorkflowStepStateInput 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 SendWorkflowStepStateInput) String() string { +func (s StopServerInput) String() string { return awsutil.Prettify(s) } @@ -9616,66 +14942,33 @@ func (s SendWorkflowStepStateInput) 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 SendWorkflowStepStateInput) GoString() string { +func (s StopServerInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *SendWorkflowStepStateInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "SendWorkflowStepStateInput"} - if s.ExecutionId == nil { - invalidParams.Add(request.NewErrParamRequired("ExecutionId")) - } - if s.ExecutionId != nil && len(*s.ExecutionId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ExecutionId", 36)) - } - if s.Status == nil { - invalidParams.Add(request.NewErrParamRequired("Status")) - } - if s.Token == nil { - invalidParams.Add(request.NewErrParamRequired("Token")) - } - if s.Token != nil && len(*s.Token) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Token", 1)) - } - if s.WorkflowId == nil { - invalidParams.Add(request.NewErrParamRequired("WorkflowId")) - } - if s.WorkflowId != nil && len(*s.WorkflowId) < 19 { - invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 19)) - } - - if invalidParams.Len() > 0 { - return invalidParams +func (s *StopServerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopServerInput"} + if s.ServerId == nil { + invalidParams.Add(request.NewErrParamRequired("ServerId")) + } + if s.ServerId != nil && len(*s.ServerId) < 19 { + invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) } - return nil -} - -// SetExecutionId sets the ExecutionId field's value. -func (s *SendWorkflowStepStateInput) SetExecutionId(v string) *SendWorkflowStepStateInput { - s.ExecutionId = &v - return s -} - -// SetStatus sets the Status field's value. -func (s *SendWorkflowStepStateInput) SetStatus(v string) *SendWorkflowStepStateInput { - s.Status = &v - return s -} -// SetToken sets the Token field's value. -func (s *SendWorkflowStepStateInput) SetToken(v string) *SendWorkflowStepStateInput { - s.Token = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetWorkflowId sets the WorkflowId field's value. -func (s *SendWorkflowStepStateInput) SetWorkflowId(v string) *SendWorkflowStepStateInput { - s.WorkflowId = &v +// SetServerId sets the ServerId field's value. +func (s *StopServerInput) SetServerId(v string) *StopServerInput { + s.ServerId = &v return s } -type SendWorkflowStepStateOutput struct { +type StopServerOutput struct { _ struct{} `type:"structure"` } @@ -9684,7 +14977,7 @@ type SendWorkflowStepStateOutput 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 SendWorkflowStepStateOutput) String() string { +func (s StopServerOutput) String() string { return awsutil.Prettify(s) } @@ -9693,19 +14986,28 @@ func (s SendWorkflowStepStateOutput) 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 SendWorkflowStepStateOutput) GoString() string { +func (s StopServerOutput) GoString() string { return s.String() } -// A container object for the session details associated with a workflow. -type ServiceMetadata struct { +// Creates a key-value pair for a specific resource. Tags are metadata that +// you can use to search for and group a resource for various purposes. You +// can apply tags to servers, users, and roles. A tag key can take more than +// one value. For example, to group servers for accounting purposes, you might +// create a tag called Group and assign the values Research and Accounting to +// that group. +type Tag struct { _ struct{} `type:"structure"` - // The Server ID (ServerId), Session ID (SessionId) and user (UserName) make - // up the UserDetails. + // The name assigned to the tag that you create. // - // UserDetails is a required field - UserDetails *UserDetails `type:"structure" required:"true"` + // Key is a required field + Key *string `type:"string" required:"true"` + + // Contains one or more values that you assigned to the key name you create. + // + // Value is a required field + Value *string `type:"string" required:"true"` } // String returns the string representation. @@ -9713,7 +15015,7 @@ type ServiceMetadata 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 ServiceMetadata) String() string { +func (s Tag) String() string { return awsutil.Prettify(s) } @@ -9722,23 +15024,53 @@ func (s ServiceMetadata) 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 ServiceMetadata) GoString() string { +func (s Tag) GoString() string { return s.String() } -// SetUserDetails sets the UserDetails field's value. -func (s *ServiceMetadata) SetUserDetails(v *UserDetails) *ServiceMetadata { - s.UserDetails = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *Tag) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Tag"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *Tag) SetKey(v string) *Tag { + s.Key = &v return s } -// The request has failed because the Amazon Web ServicesTransfer Family service -// is not available. -type ServiceUnavailableException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// SetValue sets the Value field's value. +func (s *Tag) SetValue(v string) *Tag { + s.Value = &v + return s +} - Message_ *string `locationName:"Message" type:"string"` +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // An Amazon Resource Name (ARN) for a specific Amazon Web Services resource, + // such as a server, user, or role. + // + // Arn is a required field + Arn *string `min:"20" type:"string" required:"true"` + + // Key-value pairs assigned to ARNs that you can use to group and search for + // resources by type. You can attach this metadata to user accounts for any + // purpose. + // + // Tags is a required field + Tags []*Tag `min:"1" type:"list" required:"true"` } // String returns the string representation. @@ -9746,7 +15078,7 @@ type ServiceUnavailableException 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 ServiceUnavailableException) String() string { +func (s TagResourceInput) String() string { return awsutil.Prettify(s) } @@ -9755,74 +15087,99 @@ func (s ServiceUnavailableException) 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 ServiceUnavailableException) GoString() string { +func (s TagResourceInput) GoString() string { return s.String() } -func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error { - return &ServiceUnavailableException{ - RespMetadata: v, +// 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.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Arn != nil && len(*s.Arn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 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 s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } } -} -// Code returns the exception type name. -func (s *ServiceUnavailableException) Code() string { - return "ServiceUnavailableException" + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// Message returns the exception's message. -func (s *ServiceUnavailableException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetArn sets the Arn field's value. +func (s *TagResourceInput) SetArn(v string) *TagResourceInput { + s.Arn = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ServiceUnavailableException) OrigErr() error { - return nil +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { + s.Tags = v + return s } -func (s *ServiceUnavailableException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +type TagResourceOutput struct { + _ struct{} `type:"structure"` } -// Status code returns the HTTP status code for the request's response error. -func (s *ServiceUnavailableException) 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 TagResourceOutput) String() string { + return awsutil.Prettify(s) } -// RequestID returns the service's response RequestID for request. -func (s *ServiceUnavailableException) 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 TagResourceOutput) GoString() string { + return s.String() } -// Provides information about the public Secure Shell (SSH) key that is associated -// with a user account for the specific file transfer protocol-enabled server -// (as identified by ServerId). The information returned includes the date the -// key was imported, the public key contents, and the public key ID. A user -// can store more than one SSH public key associated with their user name on -// a specific server. -type SshPublicKey struct { +// Each step type has its own StepDetails structure. +// +// The key/value pairs used to tag a file during the execution of a workflow +// step. +type TagStepDetails struct { _ struct{} `type:"structure"` - // Specifies the date that the public key was added to the user account. - // - // DateImported is a required field - DateImported *time.Time `type:"timestamp" required:"true"` + // The name of the step, used as an identifier. + Name *string `type:"string"` - // Specifies the content of the SSH public key as specified by the PublicKeyId. + // Specifies which file to use as input to the workflow step: either the output + // from the previous step, or the originally uploaded file for the workflow. // - // Transfer Family accepts RSA, ECDSA, and ED25519 keys. + // * Enter ${previous.file} to use the previous file as the input. In this + // case, this workflow step uses the output file from the previous workflow + // step as input. This is the default value. // - // SshPublicKeyBody is a required field - SshPublicKeyBody *string `type:"string" required:"true"` + // * Enter ${original.file} to use the originally-uploaded file location + // as input for this step. + SourceFileLocation *string `type:"string"` - // Specifies the SshPublicKeyId parameter contains the identifier of the public - // key. - // - // SshPublicKeyId is a required field - SshPublicKeyId *string `min:"21" type:"string" required:"true"` + // Array that contains from 1 to 10 key/value pairs. + Tags []*S3Tag `min:"1" type:"list"` } // String returns the string representation. @@ -9830,7 +15187,7 @@ type SshPublicKey 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 SshPublicKey) String() string { +func (s TagStepDetails) String() string { return awsutil.Prettify(s) } @@ -9839,35 +15196,85 @@ func (s SshPublicKey) 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 SshPublicKey) GoString() string { +func (s TagStepDetails) GoString() string { return s.String() } -// SetDateImported sets the DateImported field's value. -func (s *SshPublicKey) SetDateImported(v time.Time) *SshPublicKey { - s.DateImported = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagStepDetails) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagStepDetails"} + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *TagStepDetails) SetName(v string) *TagStepDetails { + s.Name = &v return s } -// SetSshPublicKeyBody sets the SshPublicKeyBody field's value. -func (s *SshPublicKey) SetSshPublicKeyBody(v string) *SshPublicKey { - s.SshPublicKeyBody = &v +// SetSourceFileLocation sets the SourceFileLocation field's value. +func (s *TagStepDetails) SetSourceFileLocation(v string) *TagStepDetails { + s.SourceFileLocation = &v return s } -// SetSshPublicKeyId sets the SshPublicKeyId field's value. -func (s *SshPublicKey) SetSshPublicKeyId(v string) *SshPublicKey { - s.SshPublicKeyId = &v +// SetTags sets the Tags field's value. +func (s *TagStepDetails) SetTags(v []*S3Tag) *TagStepDetails { + s.Tags = v return s } -type StartServerInput struct { +type TestIdentityProviderInput struct { _ struct{} `type:"structure"` - // A system-assigned unique identifier for a server that you start. + // A system-assigned identifier for a specific server. That server's user authentication + // method is tested with a user name and password. // // ServerId is a required field ServerId *string `min:"19" type:"string" required:"true"` + + // The type of file transfer protocol to be tested. + // + // The available protocols are: + // + // * Secure Shell (SSH) File Transfer Protocol (SFTP) + // + // * File Transfer Protocol Secure (FTPS) + // + // * File Transfer Protocol (FTP) + ServerProtocol *string `type:"string" enum:"Protocol"` + + // The source IP address of the user account to be tested. + SourceIp *string `type:"string"` + + // The name of the user account to be tested. + // + // UserName is a required field + UserName *string `min:"3" type:"string" required:"true"` + + // The password of the user account to be tested. + // + // UserPassword is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by TestIdentityProviderInput's + // String and GoString methods. + UserPassword *string `type:"string" sensitive:"true"` } // String returns the string representation. @@ -9875,7 +15282,7 @@ type StartServerInput 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 StartServerInput) String() string { +func (s TestIdentityProviderInput) String() string { return awsutil.Prettify(s) } @@ -9884,19 +15291,25 @@ func (s StartServerInput) 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 StartServerInput) GoString() string { +func (s TestIdentityProviderInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *StartServerInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "StartServerInput"} +func (s *TestIdentityProviderInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TestIdentityProviderInput"} if s.ServerId == nil { invalidParams.Add(request.NewErrParamRequired("ServerId")) } if s.ServerId != nil && len(*s.ServerId) < 19 { invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) } + if s.UserName == nil { + invalidParams.Add(request.NewErrParamRequired("UserName")) + } + if s.UserName != nil && len(*s.UserName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("UserName", 3)) + } if invalidParams.Len() > 0 { return invalidParams @@ -9905,40 +15318,56 @@ func (s *StartServerInput) Validate() error { } // SetServerId sets the ServerId field's value. -func (s *StartServerInput) SetServerId(v string) *StartServerInput { +func (s *TestIdentityProviderInput) SetServerId(v string) *TestIdentityProviderInput { s.ServerId = &v return s } -type StartServerOutput struct { - _ struct{} `type:"structure"` +// SetServerProtocol sets the ServerProtocol field's value. +func (s *TestIdentityProviderInput) SetServerProtocol(v string) *TestIdentityProviderInput { + s.ServerProtocol = &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 StartServerOutput) String() string { - return awsutil.Prettify(s) +// SetSourceIp sets the SourceIp field's value. +func (s *TestIdentityProviderInput) SetSourceIp(v string) *TestIdentityProviderInput { + s.SourceIp = &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 StartServerOutput) GoString() string { - return s.String() +// SetUserName sets the UserName field's value. +func (s *TestIdentityProviderInput) SetUserName(v string) *TestIdentityProviderInput { + s.UserName = &v + return s } -type StopServerInput struct { +// SetUserPassword sets the UserPassword field's value. +func (s *TestIdentityProviderInput) SetUserPassword(v string) *TestIdentityProviderInput { + s.UserPassword = &v + return s +} + +type TestIdentityProviderOutput struct { _ struct{} `type:"structure"` - // A system-assigned unique identifier for a server that you stopped. + // A message that indicates whether the test was successful or not. // - // ServerId is a required field - ServerId *string `min:"19" type:"string" required:"true"` + // If an empty string is returned, the most likely cause is that the authentication + // failed due to an incorrect username or password. + Message *string `type:"string"` + + // The response that is returned from your API Gateway. + Response *string `type:"string"` + + // The HTTP status code that is the response from your API Gateway. + // + // StatusCode is a required field + StatusCode *int64 `type:"integer" required:"true"` + + // The endpoint of the service used to authenticate a user. + // + // Url is a required field + Url *string `type:"string" required:"true"` } // String returns the string representation. @@ -9946,7 +15375,7 @@ type StopServerInput 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 StopServerInput) String() string { +func (s TestIdentityProviderOutput) String() string { return awsutil.Prettify(s) } @@ -9955,72 +15384,42 @@ func (s StopServerInput) 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 StopServerInput) GoString() string { +func (s TestIdentityProviderOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *StopServerInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "StopServerInput"} - if s.ServerId == nil { - invalidParams.Add(request.NewErrParamRequired("ServerId")) - } - if s.ServerId != nil && len(*s.ServerId) < 19 { - invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetServerId sets the ServerId field's value. -func (s *StopServerInput) SetServerId(v string) *StopServerInput { - s.ServerId = &v +// SetMessage sets the Message field's value. +func (s *TestIdentityProviderOutput) SetMessage(v string) *TestIdentityProviderOutput { + s.Message = &v return s } -type StopServerOutput struct { - _ struct{} `type:"structure"` +// SetResponse sets the Response field's value. +func (s *TestIdentityProviderOutput) SetResponse(v string) *TestIdentityProviderOutput { + s.Response = &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 StopServerOutput) String() string { - return awsutil.Prettify(s) +// SetStatusCode sets the StatusCode field's value. +func (s *TestIdentityProviderOutput) SetStatusCode(v int64) *TestIdentityProviderOutput { + s.StatusCode = &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 StopServerOutput) GoString() string { - return s.String() +// SetUrl sets the Url field's value. +func (s *TestIdentityProviderOutput) SetUrl(v string) *TestIdentityProviderOutput { + s.Url = &v + return s } -// Creates a key-value pair for a specific resource. Tags are metadata that -// you can use to search for and group a resource for various purposes. You -// can apply tags to servers, users, and roles. A tag key can take more than -// one value. For example, to group servers for accounting purposes, you might -// create a tag called Group and assign the values Research and Accounting to -// that group. -type Tag struct { - _ struct{} `type:"structure"` +// The request was denied due to request throttling. +type ThrottlingException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The name assigned to the tag that you create. - // - // Key is a required field - Key *string `type:"string" required:"true"` + Message_ *string `locationName:"message" type:"string"` - // Contains one or more values that you assigned to the key name you create. - // - // Value is a required field - Value *string `type:"string" required:"true"` + RetryAfterSeconds *string `type:"string"` } // String returns the string representation. @@ -10028,7 +15427,7 @@ type Tag 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 Tag) String() string { +func (s ThrottlingException) String() string { return awsutil.Prettify(s) } @@ -10037,53 +15436,64 @@ func (s Tag) 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 Tag) GoString() string { +func (s ThrottlingException) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *Tag) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Tag"} - if s.Key == nil { - invalidParams.Add(request.NewErrParamRequired("Key")) - } - if s.Value == nil { - invalidParams.Add(request.NewErrParamRequired("Value")) +func newErrorThrottlingException(v protocol.ResponseMetadata) error { + return &ThrottlingException{ + RespMetadata: v, } +} - if invalidParams.Len() > 0 { - return invalidParams +// Code returns the exception type name. +func (s *ThrottlingException) Code() string { + return "ThrottlingException" +} + +// Message returns the exception's message. +func (s *ThrottlingException) Message() string { + if s.Message_ != nil { + return *s.Message_ } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ThrottlingException) OrigErr() error { return nil } -// SetKey sets the Key field's value. -func (s *Tag) SetKey(v string) *Tag { - s.Key = &v - return s +func (s *ThrottlingException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } -// SetValue sets the Value field's value. -func (s *Tag) SetValue(v string) *Tag { - s.Value = &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 } -type TagResourceInput struct { +// RequestID returns the service's response RequestID for request. +func (s *ThrottlingException) RequestID() string { + return s.RespMetadata.RequestID +} + +type UntagResourceInput struct { _ struct{} `type:"structure"` - // An Amazon Resource Name (ARN) for a specific Amazon Web Services resource, + // The value of the resource that will have the tag removed. An Amazon Resource + // Name (ARN) is an identifier for a specific Amazon Web Services resource, // such as a server, user, or role. // // Arn is a required field Arn *string `min:"20" type:"string" required:"true"` - // Key-value pairs assigned to ARNs that you can use to group and search for - // resources by type. You can attach this metadata to user accounts for any - // purpose. + // TagKeys are key-value pairs assigned to ARNs that can be used to group and + // search for resources by type. This metadata can be attached to resources + // for any purpose. // - // Tags is a required field - Tags []*Tag `min:"1" type:"list" required:"true"` + // TagKeys is a required field + TagKeys []*string `min:"1" type:"list" required:"true"` } // String returns the string representation. @@ -10091,7 +15501,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 UntagResourceInput) String() string { return awsutil.Prettify(s) } @@ -10100,34 +15510,24 @@ 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 UntagResourceInput) 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"} +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} if s.Arn == nil { invalidParams.Add(request.NewErrParamRequired("Arn")) } if s.Arn != nil && len(*s.Arn) < 20 { invalidParams.Add(request.NewErrParamMinLen("Arn", 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 s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) } - if s.Tags != nil { - for i, v := range s.Tags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) - } - } + if s.TagKeys != nil && len(s.TagKeys) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1)) } if invalidParams.Len() > 0 { @@ -10137,18 +15537,18 @@ func (s *TagResourceInput) Validate() error { } // SetArn sets the Arn field's value. -func (s *TagResourceInput) SetArn(v string) *TagResourceInput { +func (s *UntagResourceInput) SetArn(v string) *UntagResourceInput { s.Arn = &v return s } -// SetTags sets the Tags field's value. -func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { - s.Tags = v +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v return s } -type TagResourceOutput struct { +type UntagResourceOutput struct { _ struct{} `type:"structure"` } @@ -10157,7 +15557,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 UntagResourceOutput) String() string { return awsutil.Prettify(s) } @@ -10166,33 +15566,107 @@ 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 UntagResourceOutput) GoString() string { return s.String() } -// Each step type has its own StepDetails structure. -// -// The key/value pairs used to tag a file during the execution of a workflow -// step. -type TagStepDetails struct { +type UpdateAccessInput struct { _ struct{} `type:"structure"` - // The name of the step, used as an identifier. - Name *string `type:"string"` + // A unique identifier that is required to identify specific groups within your + // directory. The users of the group that you associate have access to your + // Amazon S3 or Amazon EFS resources over the enabled protocols using Transfer + // Family. If you know the group name, you can view the SID values by running + // the following command using Windows PowerShell. + // + // Get-ADGroup -Filter {samAccountName -like "YourGroupName*"} -Properties * + // | Select SamAccountName,ObjectSid + // + // In that command, replace YourGroupName with the name of your Active Directory + // group. + // + // The regular expression used to validate this parameter is a string of characters + // consisting of uppercase and lowercase alphanumeric characters with no spaces. + // You can also include underscores or any of the following characters: =,.@:/- + // + // ExternalId is a required field + ExternalId *string `min:"1" type:"string" required:"true"` - // Specifies which file to use as input to the workflow step: either the output - // from the previous step, or the originally uploaded file for the workflow. + // The landing directory (folder) for a user when they log in to the server + // using the client. // - // * Enter ${previous.file} to use the previous file as the input. In this - // case, this workflow step uses the output file from the previous workflow - // step as input. This is the default value. + // A HomeDirectory example is /bucket_name/home/mydirectory. + HomeDirectory *string `type:"string"` + + // Logical directory mappings that specify what Amazon S3 or Amazon EFS paths + // and keys should be visible to your user and how you want to make them visible. + // You must specify the Entry and Target pair, where Entry shows how the path + // is made visible and Target is the actual Amazon S3 or Amazon EFS path. If + // you only specify a target, it is displayed as is. You also must ensure that + // your Identity and Access Management (IAM) role provides access to paths in + // Target. This value can be set only when HomeDirectoryType is set to LOGICAL. // - // * Enter ${original.file} to use the originally-uploaded file location - // as input for this step. - SourceFileLocation *string `type:"string"` + // The following is an Entry and Target pair example. + // + // [ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ] + // + // In most cases, you can use this value instead of the session policy to lock + // down your user to the designated home directory ("chroot"). To do this, you + // can set Entry to / and set Target to the HomeDirectory parameter value. + // + // The following is an Entry and Target pair example for chroot. + // + // [ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ] + HomeDirectoryMappings []*HomeDirectoryMapEntry `min:"1" type:"list"` - // Array that contains from 1 to 10 key/value pairs. - Tags []*S3Tag `min:"1" type:"list"` + // The type of landing directory (folder) that you want your users' home directory + // to be when they log in to the server. If you set it to PATH, the user will + // see the absolute Amazon S3 bucket or EFS paths as is in their file transfer + // protocol clients. If you set it LOGICAL, you need to provide mappings in + // the HomeDirectoryMappings for how you want to make Amazon S3 or Amazon EFS + // paths visible to your users. + HomeDirectoryType *string `type:"string" enum:"HomeDirectoryType"` + + // A session policy for your user so that you can use the same Identity and + // Access Management (IAM) role across multiple users. This policy scopes down + // a user's access to portions of their Amazon S3 bucket. Variables that you + // can use inside this policy include ${Transfer:UserName}, ${Transfer:HomeDirectory}, + // and ${Transfer:HomeBucket}. + // + // This policy applies only when the domain of ServerId is Amazon S3. Amazon + // EFS does not use session policies. + // + // For session policies, Transfer Family stores the policy as a JSON blob, instead + // of the Amazon Resource Name (ARN) of the policy. You save the policy as a + // JSON blob and pass it in the Policy argument. + // + // For an example of a session policy, see Example session policy (https://docs.aws.amazon.com/transfer/latest/userguide/session-policy.html). + // + // For more information, see AssumeRole (https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) + // in the Amazon Web ServicesSecurity Token Service API Reference. + Policy *string `type:"string"` + + // The full POSIX identity, including user ID (Uid), group ID (Gid), and any + // secondary groups IDs (SecondaryGids), that controls your users' access to + // your Amazon EFS file systems. The POSIX permissions that are set on files + // and directories in your file system determine the level of access your users + // get when transferring files into and out of your Amazon EFS file systems. + PosixProfile *PosixProfile `type:"structure"` + + // The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) + // role that controls your users' access to your Amazon S3 bucket or Amazon + // EFS file system. The policies attached to this role determine the level of + // access that you want to provide your users when transferring files into and + // out of your Amazon S3 bucket or Amazon EFS file system. The IAM role should + // also contain a trust relationship that allows the server to access your resources + // when servicing your users' transfer requests. + Role *string `min:"20" type:"string"` + + // A system-assigned unique identifier for a server instance. This is the specific + // server that you added your user to. + // + // ServerId is a required field + ServerId *string `min:"19" type:"string" required:"true"` } // String returns the string representation. @@ -10200,7 +15674,7 @@ type TagStepDetails 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 TagStepDetails) String() string { +func (s UpdateAccessInput) String() string { return awsutil.Prettify(s) } @@ -10209,26 +15683,46 @@ func (s TagStepDetails) 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 TagStepDetails) GoString() string { +func (s UpdateAccessInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *TagStepDetails) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "TagStepDetails"} - if s.Tags != nil && len(s.Tags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) +func (s *UpdateAccessInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateAccessInput"} + if s.ExternalId == nil { + invalidParams.Add(request.NewErrParamRequired("ExternalId")) } - if s.Tags != nil { - for i, v := range s.Tags { + if s.ExternalId != nil && len(*s.ExternalId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ExternalId", 1)) + } + if s.HomeDirectoryMappings != nil && len(s.HomeDirectoryMappings) < 1 { + invalidParams.Add(request.NewErrParamMinLen("HomeDirectoryMappings", 1)) + } + if s.Role != nil && len(*s.Role) < 20 { + invalidParams.Add(request.NewErrParamMinLen("Role", 20)) + } + if s.ServerId == nil { + invalidParams.Add(request.NewErrParamRequired("ServerId")) + } + if s.ServerId != nil && len(*s.ServerId) < 19 { + invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) + } + if s.HomeDirectoryMappings != nil { + for i, v := range s.HomeDirectoryMappings { if v == nil { continue } if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "HomeDirectoryMappings", i), err.(request.ErrInvalidParams)) } } } + if s.PosixProfile != nil { + if err := s.PosixProfile.Validate(); err != nil { + invalidParams.AddNested("PosixProfile", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -10236,58 +15730,137 @@ func (s *TagStepDetails) Validate() error { return nil } -// SetName sets the Name field's value. -func (s *TagStepDetails) SetName(v string) *TagStepDetails { - s.Name = &v +// SetExternalId sets the ExternalId field's value. +func (s *UpdateAccessInput) SetExternalId(v string) *UpdateAccessInput { + s.ExternalId = &v return s } -// SetSourceFileLocation sets the SourceFileLocation field's value. -func (s *TagStepDetails) SetSourceFileLocation(v string) *TagStepDetails { - s.SourceFileLocation = &v +// SetHomeDirectory sets the HomeDirectory field's value. +func (s *UpdateAccessInput) SetHomeDirectory(v string) *UpdateAccessInput { + s.HomeDirectory = &v return s } -// SetTags sets the Tags field's value. -func (s *TagStepDetails) SetTags(v []*S3Tag) *TagStepDetails { - s.Tags = v +// SetHomeDirectoryMappings sets the HomeDirectoryMappings field's value. +func (s *UpdateAccessInput) SetHomeDirectoryMappings(v []*HomeDirectoryMapEntry) *UpdateAccessInput { + s.HomeDirectoryMappings = v return s } -type TestIdentityProviderInput struct { +// SetHomeDirectoryType sets the HomeDirectoryType field's value. +func (s *UpdateAccessInput) SetHomeDirectoryType(v string) *UpdateAccessInput { + s.HomeDirectoryType = &v + return s +} + +// SetPolicy sets the Policy field's value. +func (s *UpdateAccessInput) SetPolicy(v string) *UpdateAccessInput { + s.Policy = &v + return s +} + +// SetPosixProfile sets the PosixProfile field's value. +func (s *UpdateAccessInput) SetPosixProfile(v *PosixProfile) *UpdateAccessInput { + s.PosixProfile = v + return s +} + +// SetRole sets the Role field's value. +func (s *UpdateAccessInput) SetRole(v string) *UpdateAccessInput { + s.Role = &v + return s +} + +// SetServerId sets the ServerId field's value. +func (s *UpdateAccessInput) SetServerId(v string) *UpdateAccessInput { + s.ServerId = &v + return s +} + +type UpdateAccessOutput struct { _ struct{} `type:"structure"` - // A system-assigned identifier for a specific server. That server's user authentication - // method is tested with a user name and password. + // The external ID of the group whose users have access to your Amazon S3 or + // Amazon EFS resources over the enabled protocols using Amazon Web ServicesTransfer + // Family. + // + // ExternalId is a required field + ExternalId *string `min:"1" type:"string" required:"true"` + + // The ID of the server that the user is attached to. // // ServerId is a required field ServerId *string `min:"19" type:"string" required:"true"` +} - // The type of file transfer protocol to be tested. - // - // The available protocols are: - // - // * Secure Shell (SSH) File Transfer Protocol (SFTP) - // - // * File Transfer Protocol Secure (FTPS) - // - // * File Transfer Protocol (FTP) - ServerProtocol *string `type:"string" enum:"Protocol"` +// 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 UpdateAccessOutput) String() string { + return awsutil.Prettify(s) +} - // The source IP address of the user account to be tested. - SourceIp *string `type:"string"` +// 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 UpdateAccessOutput) GoString() string { + return s.String() +} - // The name of the user account to be tested. +// SetExternalId sets the ExternalId field's value. +func (s *UpdateAccessOutput) SetExternalId(v string) *UpdateAccessOutput { + s.ExternalId = &v + return s +} + +// SetServerId sets the ServerId field's value. +func (s *UpdateAccessOutput) SetServerId(v string) *UpdateAccessOutput { + s.ServerId = &v + return s +} + +type UpdateAgreementInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) + // role that grants access to at least the HomeDirectory of your users' Amazon + // S3 buckets. + AccessRole *string `min:"20" type:"string"` + + // A unique identifier for the agreement. This identifier is returned when you + // create an agreement. // - // UserName is a required field - UserName *string `min:"3" type:"string" required:"true"` + // AgreementId is a required field + AgreementId *string `min:"19" type:"string" required:"true"` - // The password of the user account to be tested. + // To change the landing directory (folder) for files that are transferred, + // provide the bucket folder that you want to use; for example, /DOC-EXAMPLE-BUCKET/home/mydirectory . + BaseDirectory *string `type:"string"` + + // To replace the existing description, provide a short description for the + // agreement. + Description *string `min:"1" type:"string"` + + // To change the local profile identifier, provide a new value here. + LocalProfileId *string `min:"19" type:"string"` + + // To change the partner profile identifier, provide a new value here. + PartnerProfileId *string `min:"19" type:"string"` + + // A system-assigned unique identifier for a server instance. This is the specific + // server that the agreement uses. // - // UserPassword is a sensitive parameter and its value will be - // replaced with "sensitive" in string returned by TestIdentityProviderInput's - // String and GoString methods. - UserPassword *string `type:"string" sensitive:"true"` + // ServerId is a required field + ServerId *string `min:"19" type:"string" required:"true"` + + // You can update the status for the agreement, either activating an inactive + // agreement or the reverse. + Status *string `type:"string" enum:"AgreementStatusType"` } // String returns the string representation. @@ -10295,7 +15868,7 @@ type TestIdentityProviderInput 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 TestIdentityProviderInput) String() string { +func (s UpdateAgreementInput) String() string { return awsutil.Prettify(s) } @@ -10304,25 +15877,37 @@ func (s TestIdentityProviderInput) 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 TestIdentityProviderInput) GoString() string { +func (s UpdateAgreementInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *TestIdentityProviderInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "TestIdentityProviderInput"} +func (s *UpdateAgreementInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateAgreementInput"} + if s.AccessRole != nil && len(*s.AccessRole) < 20 { + invalidParams.Add(request.NewErrParamMinLen("AccessRole", 20)) + } + if s.AgreementId == nil { + invalidParams.Add(request.NewErrParamRequired("AgreementId")) + } + if s.AgreementId != nil && len(*s.AgreementId) < 19 { + invalidParams.Add(request.NewErrParamMinLen("AgreementId", 19)) + } + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.LocalProfileId != nil && len(*s.LocalProfileId) < 19 { + invalidParams.Add(request.NewErrParamMinLen("LocalProfileId", 19)) + } + if s.PartnerProfileId != nil && len(*s.PartnerProfileId) < 19 { + invalidParams.Add(request.NewErrParamMinLen("PartnerProfileId", 19)) + } if s.ServerId == nil { invalidParams.Add(request.NewErrParamRequired("ServerId")) } if s.ServerId != nil && len(*s.ServerId) < 19 { invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) } - if s.UserName == nil { - invalidParams.Add(request.NewErrParamRequired("UserName")) - } - if s.UserName != nil && len(*s.UserName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("UserName", 3)) - } if invalidParams.Len() > 0 { return invalidParams @@ -10330,109 +15915,62 @@ func (s *TestIdentityProviderInput) Validate() error { return nil } -// SetServerId sets the ServerId field's value. -func (s *TestIdentityProviderInput) SetServerId(v string) *TestIdentityProviderInput { - s.ServerId = &v - return s -} - -// SetServerProtocol sets the ServerProtocol field's value. -func (s *TestIdentityProviderInput) SetServerProtocol(v string) *TestIdentityProviderInput { - s.ServerProtocol = &v +// SetAccessRole sets the AccessRole field's value. +func (s *UpdateAgreementInput) SetAccessRole(v string) *UpdateAgreementInput { + s.AccessRole = &v return s } -// SetSourceIp sets the SourceIp field's value. -func (s *TestIdentityProviderInput) SetSourceIp(v string) *TestIdentityProviderInput { - s.SourceIp = &v +// SetAgreementId sets the AgreementId field's value. +func (s *UpdateAgreementInput) SetAgreementId(v string) *UpdateAgreementInput { + s.AgreementId = &v return s } -// SetUserName sets the UserName field's value. -func (s *TestIdentityProviderInput) SetUserName(v string) *TestIdentityProviderInput { - s.UserName = &v +// SetBaseDirectory sets the BaseDirectory field's value. +func (s *UpdateAgreementInput) SetBaseDirectory(v string) *UpdateAgreementInput { + s.BaseDirectory = &v return s } -// SetUserPassword sets the UserPassword field's value. -func (s *TestIdentityProviderInput) SetUserPassword(v string) *TestIdentityProviderInput { - s.UserPassword = &v +// SetDescription sets the Description field's value. +func (s *UpdateAgreementInput) SetDescription(v string) *UpdateAgreementInput { + s.Description = &v return s } -type TestIdentityProviderOutput struct { - _ struct{} `type:"structure"` - - // A message that indicates whether the test was successful or not. - // - // If an empty string is returned, the most likely cause is that the authentication - // failed due to an incorrect username or password. - Message *string `type:"string"` - - // The response that is returned from your API Gateway. - Response *string `type:"string"` - - // The HTTP status code that is the response from your API Gateway. - // - // StatusCode is a required field - StatusCode *int64 `type:"integer" required:"true"` - - // The endpoint of the service used to authenticate a user. - // - // Url is a required field - Url *string `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 TestIdentityProviderOutput) 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 TestIdentityProviderOutput) GoString() string { - return s.String() -} - -// SetMessage sets the Message field's value. -func (s *TestIdentityProviderOutput) SetMessage(v string) *TestIdentityProviderOutput { - s.Message = &v +// SetLocalProfileId sets the LocalProfileId field's value. +func (s *UpdateAgreementInput) SetLocalProfileId(v string) *UpdateAgreementInput { + s.LocalProfileId = &v return s } -// SetResponse sets the Response field's value. -func (s *TestIdentityProviderOutput) SetResponse(v string) *TestIdentityProviderOutput { - s.Response = &v +// SetPartnerProfileId sets the PartnerProfileId field's value. +func (s *UpdateAgreementInput) SetPartnerProfileId(v string) *UpdateAgreementInput { + s.PartnerProfileId = &v return s } -// SetStatusCode sets the StatusCode field's value. -func (s *TestIdentityProviderOutput) SetStatusCode(v int64) *TestIdentityProviderOutput { - s.StatusCode = &v +// SetServerId sets the ServerId field's value. +func (s *UpdateAgreementInput) SetServerId(v string) *UpdateAgreementInput { + s.ServerId = &v return s } -// SetUrl sets the Url field's value. -func (s *TestIdentityProviderOutput) SetUrl(v string) *TestIdentityProviderOutput { - s.Url = &v +// SetStatus sets the Status field's value. +func (s *UpdateAgreementInput) SetStatus(v string) *UpdateAgreementInput { + s.Status = &v return s } -// The request was denied due to request throttling. -type ThrottlingException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - - Message_ *string `locationName:"message" type:"string"` +type UpdateAgreementOutput struct { + _ struct{} `type:"structure"` - RetryAfterSeconds *string `type:"string"` + // A unique identifier for the agreement. This identifier is returned when you + // create an agreement. + // + // AgreementId is a required field + AgreementId *string `min:"19" type:"string" required:"true"` } // String returns the string representation. @@ -10440,7 +15978,7 @@ type ThrottlingException 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 ThrottlingException) String() string { +func (s UpdateAgreementOutput) String() string { return awsutil.Prettify(s) } @@ -10449,64 +15987,32 @@ func (s ThrottlingException) 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 ThrottlingException) GoString() string { +func (s UpdateAgreementOutput) GoString() string { return s.String() } -func newErrorThrottlingException(v protocol.ResponseMetadata) error { - return &ThrottlingException{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *ThrottlingException) Code() string { - return "ThrottlingException" -} - -// Message returns the exception's message. -func (s *ThrottlingException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} - -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ThrottlingException) OrigErr() error { - return nil -} - -func (s *ThrottlingException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) -} - -// Status code returns the HTTP status code for the request's response error. -func (s *ThrottlingException) StatusCode() int { - return s.RespMetadata.StatusCode -} - -// RequestID returns the service's response RequestID for request. -func (s *ThrottlingException) RequestID() string { - return s.RespMetadata.RequestID +// SetAgreementId sets the AgreementId field's value. +func (s *UpdateAgreementOutput) SetAgreementId(v string) *UpdateAgreementOutput { + s.AgreementId = &v + return s } -type UntagResourceInput struct { +type UpdateCertificateInput struct { _ struct{} `type:"structure"` - // The value of the resource that will have the tag removed. An Amazon Resource - // Name (ARN) is an identifier for a specific Amazon Web Services resource, - // such as a server, user, or role. - // - // Arn is a required field - Arn *string `min:"20" type:"string" required:"true"` + // An optional date that specifies when the certificate becomes active. + ActiveDate *time.Time `type:"timestamp"` - // TagKeys are key-value pairs assigned to ARNs that can be used to group and - // search for resources by type. This metadata can be attached to resources - // for any purpose. + // The identifier of the certificate object that you are updating. // - // TagKeys is a required field - TagKeys []*string `min:"1" type:"list" required:"true"` + // CertificateId is a required field + CertificateId *string `min:"22" type:"string" required:"true"` + + // A short description to help identify the certificate. + Description *string `min:"1" type:"string"` + + // An optional date that specifies when the certificate becomes inactive. + InactiveDate *time.Time `type:"timestamp"` } // String returns the string representation. @@ -10514,7 +16020,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 UpdateCertificateInput) String() string { return awsutil.Prettify(s) } @@ -10523,24 +16029,21 @@ 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 UpdateCertificateInput) 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.Arn == nil { - invalidParams.Add(request.NewErrParamRequired("Arn")) - } - if s.Arn != nil && len(*s.Arn) < 20 { - invalidParams.Add(request.NewErrParamMinLen("Arn", 20)) +func (s *UpdateCertificateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateCertificateInput"} + if s.CertificateId == nil { + invalidParams.Add(request.NewErrParamRequired("CertificateId")) } - if s.TagKeys == nil { - invalidParams.Add(request.NewErrParamRequired("TagKeys")) + if s.CertificateId != nil && len(*s.CertificateId) < 22 { + invalidParams.Add(request.NewErrParamMinLen("CertificateId", 22)) } - if s.TagKeys != nil && len(s.TagKeys) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1)) + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) } if invalidParams.Len() > 0 { @@ -10549,20 +16052,37 @@ func (s *UntagResourceInput) Validate() error { return nil } -// SetArn sets the Arn field's value. -func (s *UntagResourceInput) SetArn(v string) *UntagResourceInput { - s.Arn = &v +// SetActiveDate sets the ActiveDate field's value. +func (s *UpdateCertificateInput) SetActiveDate(v time.Time) *UpdateCertificateInput { + s.ActiveDate = &v return s } -// SetTagKeys sets the TagKeys field's value. -func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { - s.TagKeys = v +// SetCertificateId sets the CertificateId field's value. +func (s *UpdateCertificateInput) SetCertificateId(v string) *UpdateCertificateInput { + s.CertificateId = &v return s } -type UntagResourceOutput struct { +// SetDescription sets the Description field's value. +func (s *UpdateCertificateInput) SetDescription(v string) *UpdateCertificateInput { + s.Description = &v + return s +} + +// SetInactiveDate sets the InactiveDate field's value. +func (s *UpdateCertificateInput) SetInactiveDate(v time.Time) *UpdateCertificateInput { + s.InactiveDate = &v + return s +} + +type UpdateCertificateOutput struct { _ struct{} `type:"structure"` + + // Returns the identifier of the certificate object that you are updating. + // + // CertificateId is a required field + CertificateId *string `min:"22" type:"string" required:"true"` } // String returns the string representation. @@ -10570,115 +16090,55 @@ type UntagResourceOutput 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 UntagResourceOutput) String() string { +func (s UpdateCertificateOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s UntagResourceOutput) GoString() string { - return s.String() -} - -type UpdateAccessInput struct { - _ struct{} `type:"structure"` - - // A unique identifier that is required to identify specific groups within your - // directory. The users of the group that you associate have access to your - // Amazon S3 or Amazon EFS resources over the enabled protocols using Amazon - // Web Services Transfer Family. If you know the group name, you can view the - // SID values by running the following command using Windows PowerShell. - // - // Get-ADGroup -Filter {samAccountName -like "YourGroupName*"} -Properties * - // | Select SamAccountName,ObjectSid - // - // In that command, replace YourGroupName with the name of your Active Directory - // group. - // - // The regex used to validate this parameter is a string of characters consisting - // of uppercase and lowercase alphanumeric characters with no spaces. You can - // also include underscores or any of the following characters: =,.@:/- - // - // ExternalId is a required field - ExternalId *string `min:"1" type:"string" required:"true"` - - // The landing directory (folder) for a user when they log in to the server - // using the client. - // - // A HomeDirectory example is /bucket_name/home/mydirectory. - HomeDirectory *string `type:"string"` - - // Logical directory mappings that specify what Amazon S3 or Amazon EFS paths - // and keys should be visible to your user and how you want to make them visible. - // You must specify the Entry and Target pair, where Entry shows how the path - // is made visible and Target is the actual Amazon S3 or Amazon EFS path. If - // you only specify a target, it is displayed as is. You also must ensure that - // your Amazon Web Services Identity and Access Management (IAM) role provides - // access to paths in Target. This value can only be set when HomeDirectoryType - // is set to LOGICAL. - // - // The following is an Entry and Target pair example. - // - // [ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ] - // - // In most cases, you can use this value instead of the session policy to lock - // down your user to the designated home directory ("chroot"). To do this, you - // can set Entry to / and set Target to the HomeDirectory parameter value. - // - // The following is an Entry and Target pair example for chroot. - // - // [ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ] - HomeDirectoryMappings []*HomeDirectoryMapEntry `min:"1" type:"list"` - - // The type of landing directory (folder) you want your users' home directory - // to be when they log into the server. If you set it to PATH, the user will - // see the absolute Amazon S3 bucket or EFS paths as is in their file transfer - // protocol clients. If you set it LOGICAL, you need to provide mappings in - // the HomeDirectoryMappings for how you want to make Amazon S3 or EFS paths - // visible to your users. - HomeDirectoryType *string `type:"string" enum:"HomeDirectoryType"` - - // A session policy for your user so that you can use the same IAM role across - // multiple users. This policy scopes down user access to portions of their - // Amazon S3 bucket. Variables that you can use inside this policy include ${Transfer:UserName}, - // ${Transfer:HomeDirectory}, and ${Transfer:HomeBucket}. - // - // This only applies when the domain of ServerId is S3. EFS does not use session - // policies. - // - // For session policies, Amazon Web Services Transfer Family stores the policy - // as a JSON blob, instead of the Amazon Resource Name (ARN) of the policy. - // You save the policy as a JSON blob and pass it in the Policy argument. - // - // For an example of a session policy, see Example session policy (https://docs.aws.amazon.com/transfer/latest/userguide/session-policy.html). - // - // For more information, see AssumeRole (https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) - // in the Amazon Web ServicesSecurity Token Service API Reference. - Policy *string `type:"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 UpdateCertificateOutput) GoString() string { + return s.String() +} - // The full POSIX identity, including user ID (Uid), group ID (Gid), and any - // secondary groups IDs (SecondaryGids), that controls your users' access to - // your Amazon EFS file systems. The POSIX permissions that are set on files - // and directories in your file system determine the level of access your users - // get when transferring files into and out of your Amazon EFS file systems. - PosixProfile *PosixProfile `type:"structure"` +// SetCertificateId sets the CertificateId field's value. +func (s *UpdateCertificateOutput) SetCertificateId(v string) *UpdateCertificateOutput { + s.CertificateId = &v + return s +} - // Specifies the Amazon Resource Name (ARN) of the IAM role that controls your - // users' access to your Amazon S3 bucket or EFS file system. The policies attached - // to this role determine the level of access that you want to provide your - // users when transferring files into and out of your Amazon S3 bucket or EFS - // file system. The IAM role should also contain a trust relationship that allows - // the server to access your resources when servicing your users' transfer requests. - Role *string `min:"20" type:"string"` +type UpdateConnectorInput struct { + _ struct{} `type:"structure"` - // A system-assigned unique identifier for a server instance. This is the specific - // server that you added your user to. - // - // ServerId is a required field - ServerId *string `min:"19" type:"string" required:"true"` + // With AS2, you can send files by calling StartFileTransfer and specifying + // the file paths in the request parameter, SendFilePaths. We use the file’s + // parent directory (for example, for --send-file-paths /bucket/dir/file.txt, + // parent directory is /bucket/dir/) to temporarily store a processed AS2 message + // file, store the MDN when we receive them from the partner, and write a final + // JSON file containing relevant metadata of the transmission. So, the AccessRole + // needs to provide read and write access to the parent directory of the file + // location used in the StartFileTransfer request. Additionally, you need to + // provide read and write access to the parent directory of the files that you + // intend to send with StartFileTransfer. + AccessRole *string `min:"20" type:"string"` + + // A structure that contains the parameters for a connector object. + As2Config *As2ConnectorConfig `type:"structure"` + + // The unique identifier for the connector. + // + // ConnectorId is a required field + ConnectorId *string `min:"19" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) + // role that allows a connector to turn on CloudWatch logging for Amazon S3 + // events. When set, you can view connector activity in your CloudWatch logs. + LoggingRole *string `min:"20" type:"string"` + + // The URL of the partner's AS2 endpoint. + Url *string `type:"string"` } // String returns the string representation. @@ -10686,7 +16146,7 @@ type UpdateAccessInput 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 UpdateAccessInput) String() string { +func (s UpdateConnectorInput) String() string { return awsutil.Prettify(s) } @@ -10695,44 +16155,28 @@ func (s UpdateAccessInput) 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 UpdateAccessInput) GoString() string { +func (s UpdateConnectorInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateAccessInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateAccessInput"} - if s.ExternalId == nil { - invalidParams.Add(request.NewErrParamRequired("ExternalId")) - } - if s.ExternalId != nil && len(*s.ExternalId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ExternalId", 1)) - } - if s.HomeDirectoryMappings != nil && len(s.HomeDirectoryMappings) < 1 { - invalidParams.Add(request.NewErrParamMinLen("HomeDirectoryMappings", 1)) +func (s *UpdateConnectorInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateConnectorInput"} + if s.AccessRole != nil && len(*s.AccessRole) < 20 { + invalidParams.Add(request.NewErrParamMinLen("AccessRole", 20)) } - if s.Role != nil && len(*s.Role) < 20 { - invalidParams.Add(request.NewErrParamMinLen("Role", 20)) - } - if s.ServerId == nil { - invalidParams.Add(request.NewErrParamRequired("ServerId")) + if s.ConnectorId == nil { + invalidParams.Add(request.NewErrParamRequired("ConnectorId")) } - if s.ServerId != nil && len(*s.ServerId) < 19 { - invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) + if s.ConnectorId != nil && len(*s.ConnectorId) < 19 { + invalidParams.Add(request.NewErrParamMinLen("ConnectorId", 19)) } - if s.HomeDirectoryMappings != nil { - for i, v := range s.HomeDirectoryMappings { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "HomeDirectoryMappings", i), err.(request.ErrInvalidParams)) - } - } + if s.LoggingRole != nil && len(*s.LoggingRole) < 20 { + invalidParams.Add(request.NewErrParamMinLen("LoggingRole", 20)) } - if s.PosixProfile != nil { - if err := s.PosixProfile.Validate(); err != nil { - invalidParams.AddNested("PosixProfile", err.(request.ErrInvalidParams)) + if s.As2Config != nil { + if err := s.As2Config.Validate(); err != nil { + invalidParams.AddNested("As2Config", err.(request.ErrInvalidParams)) } } @@ -10742,68 +16186,80 @@ func (s *UpdateAccessInput) Validate() error { return nil } -// SetExternalId sets the ExternalId field's value. -func (s *UpdateAccessInput) SetExternalId(v string) *UpdateAccessInput { - s.ExternalId = &v +// SetAccessRole sets the AccessRole field's value. +func (s *UpdateConnectorInput) SetAccessRole(v string) *UpdateConnectorInput { + s.AccessRole = &v return s } -// SetHomeDirectory sets the HomeDirectory field's value. -func (s *UpdateAccessInput) SetHomeDirectory(v string) *UpdateAccessInput { - s.HomeDirectory = &v +// SetAs2Config sets the As2Config field's value. +func (s *UpdateConnectorInput) SetAs2Config(v *As2ConnectorConfig) *UpdateConnectorInput { + s.As2Config = v return s } -// SetHomeDirectoryMappings sets the HomeDirectoryMappings field's value. -func (s *UpdateAccessInput) SetHomeDirectoryMappings(v []*HomeDirectoryMapEntry) *UpdateAccessInput { - s.HomeDirectoryMappings = v +// SetConnectorId sets the ConnectorId field's value. +func (s *UpdateConnectorInput) SetConnectorId(v string) *UpdateConnectorInput { + s.ConnectorId = &v return s } -// SetHomeDirectoryType sets the HomeDirectoryType field's value. -func (s *UpdateAccessInput) SetHomeDirectoryType(v string) *UpdateAccessInput { - s.HomeDirectoryType = &v +// SetLoggingRole sets the LoggingRole field's value. +func (s *UpdateConnectorInput) SetLoggingRole(v string) *UpdateConnectorInput { + s.LoggingRole = &v return s } -// SetPolicy sets the Policy field's value. -func (s *UpdateAccessInput) SetPolicy(v string) *UpdateAccessInput { - s.Policy = &v +// SetUrl sets the Url field's value. +func (s *UpdateConnectorInput) SetUrl(v string) *UpdateConnectorInput { + s.Url = &v return s } -// SetPosixProfile sets the PosixProfile field's value. -func (s *UpdateAccessInput) SetPosixProfile(v *PosixProfile) *UpdateAccessInput { - s.PosixProfile = v - return s +type UpdateConnectorOutput struct { + _ struct{} `type:"structure"` + + // Returns the identifier of the connector object that you are updating. + // + // ConnectorId is a required field + ConnectorId *string `min:"19" type:"string" required:"true"` } -// SetRole sets the Role field's value. -func (s *UpdateAccessInput) SetRole(v string) *UpdateAccessInput { - s.Role = &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 UpdateConnectorOutput) String() string { + return awsutil.Prettify(s) } -// SetServerId sets the ServerId field's value. -func (s *UpdateAccessInput) SetServerId(v string) *UpdateAccessInput { - s.ServerId = &v +// 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 UpdateConnectorOutput) GoString() string { + return s.String() +} + +// SetConnectorId sets the ConnectorId field's value. +func (s *UpdateConnectorOutput) SetConnectorId(v string) *UpdateConnectorOutput { + s.ConnectorId = &v return s } -type UpdateAccessOutput struct { +type UpdateProfileInput struct { _ struct{} `type:"structure"` - // The external ID of the group whose users have access to your Amazon S3 or - // Amazon EFS resources over the enabled protocols using Amazon Web ServicesTransfer - // Family. - // - // ExternalId is a required field - ExternalId *string `min:"1" type:"string" required:"true"` + // An array of identifiers for the imported certificates. You use this identifier + // for working with profiles and partner profiles. + CertificateIds []*string `type:"list"` - // The ID of the server that the user is attached to. + // The identifier of the profile object that you are updating. // - // ServerId is a required field - ServerId *string `min:"19" type:"string" required:"true"` + // ProfileId is a required field + ProfileId *string `min:"19" type:"string" required:"true"` } // String returns the string representation. @@ -10811,7 +16267,7 @@ type UpdateAccessOutput 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 UpdateAccessOutput) String() string { +func (s UpdateProfileInput) String() string { return awsutil.Prettify(s) } @@ -10820,19 +16276,68 @@ func (s UpdateAccessOutput) 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 UpdateAccessOutput) GoString() string { +func (s UpdateProfileInput) GoString() string { return s.String() } -// SetExternalId sets the ExternalId field's value. -func (s *UpdateAccessOutput) SetExternalId(v string) *UpdateAccessOutput { - s.ExternalId = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateProfileInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateProfileInput"} + if s.ProfileId == nil { + invalidParams.Add(request.NewErrParamRequired("ProfileId")) + } + if s.ProfileId != nil && len(*s.ProfileId) < 19 { + invalidParams.Add(request.NewErrParamMinLen("ProfileId", 19)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCertificateIds sets the CertificateIds field's value. +func (s *UpdateProfileInput) SetCertificateIds(v []*string) *UpdateProfileInput { + s.CertificateIds = v return s } -// SetServerId sets the ServerId field's value. -func (s *UpdateAccessOutput) SetServerId(v string) *UpdateAccessOutput { - s.ServerId = &v +// SetProfileId sets the ProfileId field's value. +func (s *UpdateProfileInput) SetProfileId(v string) *UpdateProfileInput { + s.ProfileId = &v + return s +} + +type UpdateProfileOutput struct { + _ struct{} `type:"structure"` + + // Returns the identifier for the profile that's being updated. + // + // ProfileId is a required field + ProfileId *string `min:"19" 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 UpdateProfileOutput) 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 UpdateProfileOutput) GoString() string { + return s.String() +} + +// SetProfileId sets the ProfileId field's value. +func (s *UpdateProfileOutput) SetProfileId(v string) *UpdateProfileOutput { + s.ProfileId = &v return s } @@ -10871,10 +16376,11 @@ type UpdateServerInput struct { Certificate *string `type:"string"` // The virtual private cloud (VPC) endpoint settings that are configured for - // your server. When you host your endpoint within your VPC, you can make it - // accessible only to resources within your VPC, or you can attach Elastic IP - // addresses and make it accessible to clients over the internet. Your VPC's - // default security groups are automatically assigned to your endpoint. + // your server. When you host your endpoint within your VPC, you can make your + // endpoint accessible only to resources within your VPC, or you can attach + // Elastic IP addresses and make your endpoint accessible to clients over the + // internet. Your VPC's default security groups are automatically assigned to + // your endpoint. EndpointDetails *EndpointDetails `type:"structure"` // The type of endpoint that you want your server to use. You can choose to @@ -10904,8 +16410,8 @@ type UpdateServerInput struct { // // ssh-keygen -t rsa -b 2048 -N "" -m PEM -f my-new-server-key. // - // Use a minimum value of 2048 for the -b option: you can create a stronger - // key using 3072 or 4096. + // Use a minimum value of 2048 for the -b option. You can create a stronger + // key by using 3072 or 4096. // // Use the following command to generate an ECDSA 256 bit key with no passphrase: // @@ -10926,7 +16432,7 @@ type UpdateServerInput struct { // // For more information, see Change the host key for your SFTP-enabled server // (https://docs.aws.amazon.com/transfer/latest/userguide/edit-server-config.html#configuring-servers-change-host-key) - // in the Amazon Web Services Transfer Family User Guide. + // in the Transfer Family User Guide. // // HostKey is a sensitive parameter and its value will be // replaced with "sensitive" in string returned by UpdateServerInput's @@ -10937,21 +16443,21 @@ type UpdateServerInput struct { // authentication API method. IdentityProviderDetails *IdentityProviderDetails `type:"structure"` - // Specifies the Amazon Resource Name (ARN) of the Amazon Web Services Identity - // and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch - // logging for Amazon S3 or Amazon EFS events. When set, user activity can be - // viewed in your CloudWatch logs. + // The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) + // role that allows a server to turn on Amazon CloudWatch logging for Amazon + // S3 or Amazon EFSevents. When set, you can view user activity in your CloudWatch + // logs. LoggingRole *string `type:"string"` - // Specify a string to display when users connect to a server. This string is - // displayed after the user authenticates. + // Specifies a string to display when users connect to a server. This string + // is displayed after the user authenticates. // // The SFTP protocol does not support post-authentication display banners. PostAuthenticationLoginBanner *string `type:"string"` - // Specify a string to display when users connect to a server. This string is - // displayed before the user authenticates. For example, the following banner - // displays details about using the system. + // Specifies a string to display when users connect to a server. This string + // is displayed before the user authenticates. For example, the following banner + // displays details about using the system: // // This system is for the use of authorized users only. Individuals using this // computer system without authority, or in excess of their authority, are subject @@ -10961,21 +16467,25 @@ type UpdateServerInput struct { // The protocol settings that are configured for your server. // - // * Use the PassiveIp parameter to indicate passive mode (for FTP and FTPS - // protocols). Enter a single dotted-quad IPv4 address, such as the external + // * To indicate passive mode (for FTP and FTPS protocols), use the PassiveIp + // parameter. Enter a single dotted-quad IPv4 address, such as the external // IP address of a firewall, router, or load balancer. // - // * Use the SetStatOption to ignore the error that is generated when the - // client attempts to use SETSTAT on a file you are uploading to an S3 bucket. - // Set the value to ENABLE_NO_OP to have the Transfer Family server ignore - // the SETSTAT command, and upload files without needing to make any changes - // to your SFTP client. Note that with SetStatOption set to ENABLE_NO_OP, - // Transfer generates a log entry to CloudWatch Logs, so you can determine - // when the client is making a SETSTAT call. - // - // * Use the TlsSessionResumptionMode parameter to determine whether or not - // your Transfer server resumes recent, negotiated sessions through a unique - // session ID. + // * To ignore the error that is generated when the client attempts to use + // the SETSTAT command on a file that you are uploading to an Amazon S3 bucket, + // use the SetStatOption parameter. To have the Transfer Family server ignore + // the SETSTAT command and upload files without needing to make any changes + // to your SFTP client, set the value to ENABLE_NO_OP. If you set the SetStatOption + // parameter to ENABLE_NO_OP, Transfer Family generates a log entry to Amazon + // CloudWatch Logs, so that you can determine when the client is making a + // SETSTAT call. + // + // * To determine whether your Transfer Family server resumes recent, negotiated + // sessions through a unique session ID, use the TlsSessionResumptionMode + // parameter. + // + // * As2Transports indicates the transport method for the AS2 messages. Currently, + // only HTTP is supported. ProtocolDetails *ProtocolDetails `type:"structure"` // Specifies the file transfer protocol or protocols over which your file transfer @@ -11012,7 +16522,7 @@ type UpdateServerInput struct { ServerId *string `min:"19" type:"string" required:"true"` // Specifies the workflow ID for the workflow to assign and the execution role - // used for executing the workflow. + // that's used for executing the workflow. // // To remove an associated workflow from a server, you can provide an empty // OnUpload object, as in the following example. @@ -11062,6 +16572,11 @@ func (s *UpdateServerInput) Validate() error { invalidParams.AddNested("IdentityProviderDetails", err.(request.ErrInvalidParams)) } } + if s.ProtocolDetails != nil { + if err := s.ProtocolDetails.Validate(); err != nil { + invalidParams.AddNested("ProtocolDetails", err.(request.ErrInvalidParams)) + } + } if s.WorkflowDetails != nil { if err := s.WorkflowDetails.Validate(); err != nil { invalidParams.AddNested("WorkflowDetails", err.(request.ErrInvalidParams)) @@ -11200,9 +16715,8 @@ type UpdateUserInput struct { // You must specify the Entry and Target pair, where Entry shows how the path // is made visible and Target is the actual Amazon S3 or Amazon EFS path. If // you only specify a target, it is displayed as is. You also must ensure that - // your Amazon Web Services Identity and Access Management (IAM) role provides - // access to paths in Target. This value can only be set when HomeDirectoryType - // is set to LOGICAL. + // your Identity and Access Management (IAM) role provides access to paths in + // Target. This value can be set only when HomeDirectoryType is set to LOGICAL. // // The following is an Entry and Target pair example. // @@ -11217,25 +16731,26 @@ type UpdateUserInput struct { // [ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ] HomeDirectoryMappings []*HomeDirectoryMapEntry `min:"1" type:"list"` - // The type of landing directory (folder) you want your users' home directory - // to be when they log into the server. If you set it to PATH, the user will + // The type of landing directory (folder) that you want your users' home directory + // to be when they log in to the server. If you set it to PATH, the user will // see the absolute Amazon S3 bucket or EFS paths as is in their file transfer // protocol clients. If you set it LOGICAL, you need to provide mappings in - // the HomeDirectoryMappings for how you want to make Amazon S3 or EFS paths - // visible to your users. + // the HomeDirectoryMappings for how you want to make Amazon S3 or Amazon EFS + // paths visible to your users. HomeDirectoryType *string `type:"string" enum:"HomeDirectoryType"` - // A session policy for your user so that you can use the same IAM role across - // multiple users. This policy scopes down user access to portions of their - // Amazon S3 bucket. Variables that you can use inside this policy include ${Transfer:UserName}, - // ${Transfer:HomeDirectory}, and ${Transfer:HomeBucket}. + // A session policy for your user so that you can use the same Identity and + // Access Management (IAM) role across multiple users. This policy scopes down + // a user's access to portions of their Amazon S3 bucket. Variables that you + // can use inside this policy include ${Transfer:UserName}, ${Transfer:HomeDirectory}, + // and ${Transfer:HomeBucket}. // - // This only applies when the domain of ServerId is S3. EFS does not use session - // policies. + // This policy applies only when the domain of ServerId is Amazon S3. Amazon + // EFS does not use session policies. // - // For session policies, Amazon Web Services Transfer Family stores the policy - // as a JSON blob, instead of the Amazon Resource Name (ARN) of the policy. - // You save the policy as a JSON blob and pass it in the Policy argument. + // For session policies, Transfer Family stores the policy as a JSON blob, instead + // of the Amazon Resource Name (ARN) of the policy. You save the policy as a + // JSON blob and pass it in the Policy argument. // // For an example of a session policy, see Creating a session policy (https://docs.aws.amazon.com/transfer/latest/userguide/session-policy). // @@ -11251,12 +16766,13 @@ type UpdateUserInput struct { // EFS file systems. PosixProfile *PosixProfile `type:"structure"` - // Specifies the Amazon Resource Name (ARN) of the IAM role that controls your - // users' access to your Amazon S3 bucket or EFS file system. The policies attached - // to this role determine the level of access that you want to provide your - // users when transferring files into and out of your Amazon S3 bucket or EFS - // file system. The IAM role should also contain a trust relationship that allows - // the server to access your resources when servicing your users' transfer requests. + // The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) + // role that controls your users' access to your Amazon S3 bucket or Amazon + // EFS file system. The policies attached to this role determine the level of + // access that you want to provide your users when transferring files into and + // out of your Amazon S3 bucket or Amazon EFS file system. The IAM role should + // also contain a trust relationship that allows the server to access your resources + // when servicing your users' transfer requests. Role *string `min:"20" type:"string"` // A system-assigned unique identifier for a server instance that the user account @@ -11488,7 +17004,7 @@ func (s *UserDetails) SetUserName(v string) *UserDetails { } // Specifies the workflow ID for the workflow to assign and the execution role -// used for executing the workflow. +// that's used for executing the workflow. type WorkflowDetail struct { _ struct{} `type:"structure"` @@ -11653,13 +17169,13 @@ type WorkflowStep struct { // Currently, the following step types are supported. // - // * COPY: copy the file to another location + // * COPY: Copy the file to another location. // - // * CUSTOM: custom step with a lambda target + // * CUSTOM: Perform a custom step with an Lambda function target. // - // * DELETE: delete the file + // * DELETE: Delete the file. // - // * TAG: add a tag to the file + // * TAG: Add a tag to the file. Type *string `type:"string" enum:"WorkflowStepType"` } @@ -11736,6 +17252,102 @@ func (s *WorkflowStep) SetType(v string) *WorkflowStep { return s } +const ( + // AgreementStatusTypeActive is a AgreementStatusType enum value + AgreementStatusTypeActive = "ACTIVE" + + // AgreementStatusTypeInactive is a AgreementStatusType enum value + AgreementStatusTypeInactive = "INACTIVE" +) + +// AgreementStatusType_Values returns all elements of the AgreementStatusType enum +func AgreementStatusType_Values() []string { + return []string{ + AgreementStatusTypeActive, + AgreementStatusTypeInactive, + } +} + +const ( + // As2TransportHttp is a As2Transport enum value + As2TransportHttp = "HTTP" +) + +// As2Transport_Values returns all elements of the As2Transport enum +func As2Transport_Values() []string { + return []string{ + As2TransportHttp, + } +} + +const ( + // CertificateStatusTypeActive is a CertificateStatusType enum value + CertificateStatusTypeActive = "ACTIVE" + + // CertificateStatusTypePendingRotation is a CertificateStatusType enum value + CertificateStatusTypePendingRotation = "PENDING_ROTATION" + + // CertificateStatusTypeInactive is a CertificateStatusType enum value + CertificateStatusTypeInactive = "INACTIVE" +) + +// CertificateStatusType_Values returns all elements of the CertificateStatusType enum +func CertificateStatusType_Values() []string { + return []string{ + CertificateStatusTypeActive, + CertificateStatusTypePendingRotation, + CertificateStatusTypeInactive, + } +} + +const ( + // CertificateTypeCertificate is a CertificateType enum value + CertificateTypeCertificate = "CERTIFICATE" + + // CertificateTypeCertificateWithPrivateKey is a CertificateType enum value + CertificateTypeCertificateWithPrivateKey = "CERTIFICATE_WITH_PRIVATE_KEY" +) + +// CertificateType_Values returns all elements of the CertificateType enum +func CertificateType_Values() []string { + return []string{ + CertificateTypeCertificate, + CertificateTypeCertificateWithPrivateKey, + } +} + +const ( + // CertificateUsageTypeSigning is a CertificateUsageType enum value + CertificateUsageTypeSigning = "SIGNING" + + // CertificateUsageTypeEncryption is a CertificateUsageType enum value + CertificateUsageTypeEncryption = "ENCRYPTION" +) + +// CertificateUsageType_Values returns all elements of the CertificateUsageType enum +func CertificateUsageType_Values() []string { + return []string{ + CertificateUsageTypeSigning, + CertificateUsageTypeEncryption, + } +} + +const ( + // CompressionEnumZlib is a CompressionEnum enum value + CompressionEnumZlib = "ZLIB" + + // CompressionEnumDisabled is a CompressionEnum enum value + CompressionEnumDisabled = "DISABLED" +) + +// CompressionEnum_Values returns all elements of the CompressionEnum enum +func CompressionEnum_Values() []string { + return []string{ + CompressionEnumZlib, + CompressionEnumDisabled, + } +} + const ( // CustomStepStatusSuccess is a CustomStepStatus enum value CustomStepStatusSuccess = "SUCCESS" @@ -11768,6 +17380,26 @@ func Domain_Values() []string { } } +const ( + // EncryptionAlgAes128Cbc is a EncryptionAlg enum value + EncryptionAlgAes128Cbc = "AES128_CBC" + + // EncryptionAlgAes192Cbc is a EncryptionAlg enum value + EncryptionAlgAes192Cbc = "AES192_CBC" + + // EncryptionAlgAes256Cbc is a EncryptionAlg enum value + EncryptionAlgAes256Cbc = "AES256_CBC" +) + +// EncryptionAlg_Values returns all elements of the EncryptionAlg enum +func EncryptionAlg_Values() []string { + return []string{ + EncryptionAlgAes128Cbc, + EncryptionAlgAes192Cbc, + EncryptionAlgAes256Cbc, + } +} + const ( // EndpointTypePublic is a EndpointType enum value EndpointTypePublic = "PUBLIC" @@ -11898,6 +17530,54 @@ func IdentityProviderType_Values() []string { } } +const ( + // MdnResponseSync is a MdnResponse enum value + MdnResponseSync = "SYNC" + + // MdnResponseNone is a MdnResponse enum value + MdnResponseNone = "NONE" +) + +// MdnResponse_Values returns all elements of the MdnResponse enum +func MdnResponse_Values() []string { + return []string{ + MdnResponseSync, + MdnResponseNone, + } +} + +const ( + // MdnSigningAlgSha256 is a MdnSigningAlg enum value + MdnSigningAlgSha256 = "SHA256" + + // MdnSigningAlgSha384 is a MdnSigningAlg enum value + MdnSigningAlgSha384 = "SHA384" + + // MdnSigningAlgSha512 is a MdnSigningAlg enum value + MdnSigningAlgSha512 = "SHA512" + + // MdnSigningAlgSha1 is a MdnSigningAlg enum value + MdnSigningAlgSha1 = "SHA1" + + // MdnSigningAlgNone is a MdnSigningAlg enum value + MdnSigningAlgNone = "NONE" + + // MdnSigningAlgDefault is a MdnSigningAlg enum value + MdnSigningAlgDefault = "DEFAULT" +) + +// MdnSigningAlg_Values returns all elements of the MdnSigningAlg enum +func MdnSigningAlg_Values() []string { + return []string{ + MdnSigningAlgSha256, + MdnSigningAlgSha384, + MdnSigningAlgSha512, + MdnSigningAlgSha1, + MdnSigningAlgNone, + MdnSigningAlgDefault, + } +} + const ( // OverwriteExistingTrue is a OverwriteExisting enum value OverwriteExistingTrue = "TRUE" @@ -11914,6 +17594,22 @@ func OverwriteExisting_Values() []string { } } +const ( + // ProfileTypeLocal is a ProfileType enum value + ProfileTypeLocal = "LOCAL" + + // ProfileTypePartner is a ProfileType enum value + ProfileTypePartner = "PARTNER" +) + +// ProfileType_Values returns all elements of the ProfileType enum +func ProfileType_Values() []string { + return []string{ + ProfileTypeLocal, + ProfileTypePartner, + } +} + const ( // ProtocolSftp is a Protocol enum value ProtocolSftp = "SFTP" @@ -11923,6 +17619,9 @@ const ( // ProtocolFtps is a Protocol enum value ProtocolFtps = "FTPS" + + // ProtocolAs2 is a Protocol enum value + ProtocolAs2 = "AS2" ) // Protocol_Values returns all elements of the Protocol enum @@ -11931,6 +17630,7 @@ func Protocol_Values() []string { ProtocolSftp, ProtocolFtp, ProtocolFtps, + ProtocolAs2, } } @@ -11950,6 +17650,34 @@ func SetStatOption_Values() []string { } } +const ( + // SigningAlgSha256 is a SigningAlg enum value + SigningAlgSha256 = "SHA256" + + // SigningAlgSha384 is a SigningAlg enum value + SigningAlgSha384 = "SHA384" + + // SigningAlgSha512 is a SigningAlg enum value + SigningAlgSha512 = "SHA512" + + // SigningAlgSha1 is a SigningAlg enum value + SigningAlgSha1 = "SHA1" + + // SigningAlgNone is a SigningAlg enum value + SigningAlgNone = "NONE" +) + +// SigningAlg_Values returns all elements of the SigningAlg enum +func SigningAlg_Values() []string { + return []string{ + SigningAlgSha256, + SigningAlgSha384, + SigningAlgSha512, + SigningAlgSha1, + SigningAlgNone, + } +} + // Describes the condition of a file transfer protocol-enabled server with respect // to its ability to perform file operations. There are six possible states: // OFFLINE, ONLINE, STARTING, STOPPING, START_FAILED, and STOP_FAILED. diff --git a/service/transfer/doc.go b/service/transfer/doc.go index 0749b6af02d..66844a85120 100644 --- a/service/transfer/doc.go +++ b/service/transfer/doc.go @@ -3,18 +3,16 @@ // Package transfer provides the client and types for making API // requests to AWS Transfer Family. // -// Amazon Web Services Transfer Family is a fully managed service that enables -// the transfer of files over the File Transfer Protocol (FTP), File Transfer -// Protocol over SSL (FTPS), or Secure Shell (SSH) File Transfer Protocol (SFTP) -// directly into and out of Amazon Simple Storage Service (Amazon S3). Amazon -// Web Services helps you seamlessly migrate your file transfer workflows to -// Amazon Web Services Transfer Family by integrating with existing authentication -// systems, and providing DNS routing with Amazon Route 53 so nothing changes -// for your customers and partners, or their applications. With your data in -// Amazon S3, you can use it with Amazon Web Services services for processing, -// analytics, machine learning, and archiving. Getting started with Amazon Web -// Services Transfer Family is easy since there is no infrastructure to buy -// and set up. +// Transfer Family is a fully managed service that enables the transfer of files +// over the File Transfer Protocol (FTP), File Transfer Protocol over SSL (FTPS), +// or Secure Shell (SSH) File Transfer Protocol (SFTP) directly into and out +// of Amazon Simple Storage Service (Amazon S3). Amazon Web Services helps you +// seamlessly migrate your file transfer workflows to Transfer Family by integrating +// with existing authentication systems, and providing DNS routing with Amazon +// Route 53 so nothing changes for your customers and partners, or their applications. +// With your data in Amazon S3, you can use it with Amazon Web Services for +// processing, analytics, machine learning, and archiving. Getting started with +// Transfer Family is easy since there is no infrastructure to buy and set up. // // See https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05 for more information on this service. // diff --git a/service/transfer/transferiface/interface.go b/service/transfer/transferiface/interface.go index e70c102c5aa..dfcbecf2295 100644 --- a/service/transfer/transferiface/interface.go +++ b/service/transfer/transferiface/interface.go @@ -64,6 +64,18 @@ type TransferAPI interface { CreateAccessWithContext(aws.Context, *transfer.CreateAccessInput, ...request.Option) (*transfer.CreateAccessOutput, error) CreateAccessRequest(*transfer.CreateAccessInput) (*request.Request, *transfer.CreateAccessOutput) + CreateAgreement(*transfer.CreateAgreementInput) (*transfer.CreateAgreementOutput, error) + CreateAgreementWithContext(aws.Context, *transfer.CreateAgreementInput, ...request.Option) (*transfer.CreateAgreementOutput, error) + CreateAgreementRequest(*transfer.CreateAgreementInput) (*request.Request, *transfer.CreateAgreementOutput) + + CreateConnector(*transfer.CreateConnectorInput) (*transfer.CreateConnectorOutput, error) + CreateConnectorWithContext(aws.Context, *transfer.CreateConnectorInput, ...request.Option) (*transfer.CreateConnectorOutput, error) + CreateConnectorRequest(*transfer.CreateConnectorInput) (*request.Request, *transfer.CreateConnectorOutput) + + CreateProfile(*transfer.CreateProfileInput) (*transfer.CreateProfileOutput, error) + CreateProfileWithContext(aws.Context, *transfer.CreateProfileInput, ...request.Option) (*transfer.CreateProfileOutput, error) + CreateProfileRequest(*transfer.CreateProfileInput) (*request.Request, *transfer.CreateProfileOutput) + CreateServer(*transfer.CreateServerInput) (*transfer.CreateServerOutput, error) CreateServerWithContext(aws.Context, *transfer.CreateServerInput, ...request.Option) (*transfer.CreateServerOutput, error) CreateServerRequest(*transfer.CreateServerInput) (*request.Request, *transfer.CreateServerOutput) @@ -80,6 +92,22 @@ type TransferAPI interface { DeleteAccessWithContext(aws.Context, *transfer.DeleteAccessInput, ...request.Option) (*transfer.DeleteAccessOutput, error) DeleteAccessRequest(*transfer.DeleteAccessInput) (*request.Request, *transfer.DeleteAccessOutput) + DeleteAgreement(*transfer.DeleteAgreementInput) (*transfer.DeleteAgreementOutput, error) + DeleteAgreementWithContext(aws.Context, *transfer.DeleteAgreementInput, ...request.Option) (*transfer.DeleteAgreementOutput, error) + DeleteAgreementRequest(*transfer.DeleteAgreementInput) (*request.Request, *transfer.DeleteAgreementOutput) + + DeleteCertificate(*transfer.DeleteCertificateInput) (*transfer.DeleteCertificateOutput, error) + DeleteCertificateWithContext(aws.Context, *transfer.DeleteCertificateInput, ...request.Option) (*transfer.DeleteCertificateOutput, error) + DeleteCertificateRequest(*transfer.DeleteCertificateInput) (*request.Request, *transfer.DeleteCertificateOutput) + + DeleteConnector(*transfer.DeleteConnectorInput) (*transfer.DeleteConnectorOutput, error) + DeleteConnectorWithContext(aws.Context, *transfer.DeleteConnectorInput, ...request.Option) (*transfer.DeleteConnectorOutput, error) + DeleteConnectorRequest(*transfer.DeleteConnectorInput) (*request.Request, *transfer.DeleteConnectorOutput) + + DeleteProfile(*transfer.DeleteProfileInput) (*transfer.DeleteProfileOutput, error) + DeleteProfileWithContext(aws.Context, *transfer.DeleteProfileInput, ...request.Option) (*transfer.DeleteProfileOutput, error) + DeleteProfileRequest(*transfer.DeleteProfileInput) (*request.Request, *transfer.DeleteProfileOutput) + DeleteServer(*transfer.DeleteServerInput) (*transfer.DeleteServerOutput, error) DeleteServerWithContext(aws.Context, *transfer.DeleteServerInput, ...request.Option) (*transfer.DeleteServerOutput, error) DeleteServerRequest(*transfer.DeleteServerInput) (*request.Request, *transfer.DeleteServerOutput) @@ -100,10 +128,26 @@ type TransferAPI interface { DescribeAccessWithContext(aws.Context, *transfer.DescribeAccessInput, ...request.Option) (*transfer.DescribeAccessOutput, error) DescribeAccessRequest(*transfer.DescribeAccessInput) (*request.Request, *transfer.DescribeAccessOutput) + DescribeAgreement(*transfer.DescribeAgreementInput) (*transfer.DescribeAgreementOutput, error) + DescribeAgreementWithContext(aws.Context, *transfer.DescribeAgreementInput, ...request.Option) (*transfer.DescribeAgreementOutput, error) + DescribeAgreementRequest(*transfer.DescribeAgreementInput) (*request.Request, *transfer.DescribeAgreementOutput) + + DescribeCertificate(*transfer.DescribeCertificateInput) (*transfer.DescribeCertificateOutput, error) + DescribeCertificateWithContext(aws.Context, *transfer.DescribeCertificateInput, ...request.Option) (*transfer.DescribeCertificateOutput, error) + DescribeCertificateRequest(*transfer.DescribeCertificateInput) (*request.Request, *transfer.DescribeCertificateOutput) + + DescribeConnector(*transfer.DescribeConnectorInput) (*transfer.DescribeConnectorOutput, error) + DescribeConnectorWithContext(aws.Context, *transfer.DescribeConnectorInput, ...request.Option) (*transfer.DescribeConnectorOutput, error) + DescribeConnectorRequest(*transfer.DescribeConnectorInput) (*request.Request, *transfer.DescribeConnectorOutput) + DescribeExecution(*transfer.DescribeExecutionInput) (*transfer.DescribeExecutionOutput, error) DescribeExecutionWithContext(aws.Context, *transfer.DescribeExecutionInput, ...request.Option) (*transfer.DescribeExecutionOutput, error) DescribeExecutionRequest(*transfer.DescribeExecutionInput) (*request.Request, *transfer.DescribeExecutionOutput) + DescribeProfile(*transfer.DescribeProfileInput) (*transfer.DescribeProfileOutput, error) + DescribeProfileWithContext(aws.Context, *transfer.DescribeProfileInput, ...request.Option) (*transfer.DescribeProfileOutput, error) + DescribeProfileRequest(*transfer.DescribeProfileInput) (*request.Request, *transfer.DescribeProfileOutput) + DescribeSecurityPolicy(*transfer.DescribeSecurityPolicyInput) (*transfer.DescribeSecurityPolicyOutput, error) DescribeSecurityPolicyWithContext(aws.Context, *transfer.DescribeSecurityPolicyInput, ...request.Option) (*transfer.DescribeSecurityPolicyOutput, error) DescribeSecurityPolicyRequest(*transfer.DescribeSecurityPolicyInput) (*request.Request, *transfer.DescribeSecurityPolicyOutput) @@ -120,6 +164,10 @@ type TransferAPI interface { DescribeWorkflowWithContext(aws.Context, *transfer.DescribeWorkflowInput, ...request.Option) (*transfer.DescribeWorkflowOutput, error) DescribeWorkflowRequest(*transfer.DescribeWorkflowInput) (*request.Request, *transfer.DescribeWorkflowOutput) + ImportCertificate(*transfer.ImportCertificateInput) (*transfer.ImportCertificateOutput, error) + ImportCertificateWithContext(aws.Context, *transfer.ImportCertificateInput, ...request.Option) (*transfer.ImportCertificateOutput, error) + ImportCertificateRequest(*transfer.ImportCertificateInput) (*request.Request, *transfer.ImportCertificateOutput) + ImportSshPublicKey(*transfer.ImportSshPublicKeyInput) (*transfer.ImportSshPublicKeyOutput, error) ImportSshPublicKeyWithContext(aws.Context, *transfer.ImportSshPublicKeyInput, ...request.Option) (*transfer.ImportSshPublicKeyOutput, error) ImportSshPublicKeyRequest(*transfer.ImportSshPublicKeyInput) (*request.Request, *transfer.ImportSshPublicKeyOutput) @@ -131,6 +179,27 @@ type TransferAPI interface { ListAccessesPages(*transfer.ListAccessesInput, func(*transfer.ListAccessesOutput, bool) bool) error ListAccessesPagesWithContext(aws.Context, *transfer.ListAccessesInput, func(*transfer.ListAccessesOutput, bool) bool, ...request.Option) error + ListAgreements(*transfer.ListAgreementsInput) (*transfer.ListAgreementsOutput, error) + ListAgreementsWithContext(aws.Context, *transfer.ListAgreementsInput, ...request.Option) (*transfer.ListAgreementsOutput, error) + ListAgreementsRequest(*transfer.ListAgreementsInput) (*request.Request, *transfer.ListAgreementsOutput) + + ListAgreementsPages(*transfer.ListAgreementsInput, func(*transfer.ListAgreementsOutput, bool) bool) error + ListAgreementsPagesWithContext(aws.Context, *transfer.ListAgreementsInput, func(*transfer.ListAgreementsOutput, bool) bool, ...request.Option) error + + ListCertificates(*transfer.ListCertificatesInput) (*transfer.ListCertificatesOutput, error) + ListCertificatesWithContext(aws.Context, *transfer.ListCertificatesInput, ...request.Option) (*transfer.ListCertificatesOutput, error) + ListCertificatesRequest(*transfer.ListCertificatesInput) (*request.Request, *transfer.ListCertificatesOutput) + + ListCertificatesPages(*transfer.ListCertificatesInput, func(*transfer.ListCertificatesOutput, bool) bool) error + ListCertificatesPagesWithContext(aws.Context, *transfer.ListCertificatesInput, func(*transfer.ListCertificatesOutput, bool) bool, ...request.Option) error + + ListConnectors(*transfer.ListConnectorsInput) (*transfer.ListConnectorsOutput, error) + ListConnectorsWithContext(aws.Context, *transfer.ListConnectorsInput, ...request.Option) (*transfer.ListConnectorsOutput, error) + ListConnectorsRequest(*transfer.ListConnectorsInput) (*request.Request, *transfer.ListConnectorsOutput) + + ListConnectorsPages(*transfer.ListConnectorsInput, func(*transfer.ListConnectorsOutput, bool) bool) error + ListConnectorsPagesWithContext(aws.Context, *transfer.ListConnectorsInput, func(*transfer.ListConnectorsOutput, bool) bool, ...request.Option) error + ListExecutions(*transfer.ListExecutionsInput) (*transfer.ListExecutionsOutput, error) ListExecutionsWithContext(aws.Context, *transfer.ListExecutionsInput, ...request.Option) (*transfer.ListExecutionsOutput, error) ListExecutionsRequest(*transfer.ListExecutionsInput) (*request.Request, *transfer.ListExecutionsOutput) @@ -138,6 +207,13 @@ type TransferAPI interface { ListExecutionsPages(*transfer.ListExecutionsInput, func(*transfer.ListExecutionsOutput, bool) bool) error ListExecutionsPagesWithContext(aws.Context, *transfer.ListExecutionsInput, func(*transfer.ListExecutionsOutput, bool) bool, ...request.Option) error + ListProfiles(*transfer.ListProfilesInput) (*transfer.ListProfilesOutput, error) + ListProfilesWithContext(aws.Context, *transfer.ListProfilesInput, ...request.Option) (*transfer.ListProfilesOutput, error) + ListProfilesRequest(*transfer.ListProfilesInput) (*request.Request, *transfer.ListProfilesOutput) + + ListProfilesPages(*transfer.ListProfilesInput, func(*transfer.ListProfilesOutput, bool) bool) error + ListProfilesPagesWithContext(aws.Context, *transfer.ListProfilesInput, func(*transfer.ListProfilesOutput, bool) bool, ...request.Option) error + ListSecurityPolicies(*transfer.ListSecurityPoliciesInput) (*transfer.ListSecurityPoliciesOutput, error) ListSecurityPoliciesWithContext(aws.Context, *transfer.ListSecurityPoliciesInput, ...request.Option) (*transfer.ListSecurityPoliciesOutput, error) ListSecurityPoliciesRequest(*transfer.ListSecurityPoliciesInput) (*request.Request, *transfer.ListSecurityPoliciesOutput) @@ -177,6 +253,10 @@ type TransferAPI interface { SendWorkflowStepStateWithContext(aws.Context, *transfer.SendWorkflowStepStateInput, ...request.Option) (*transfer.SendWorkflowStepStateOutput, error) SendWorkflowStepStateRequest(*transfer.SendWorkflowStepStateInput) (*request.Request, *transfer.SendWorkflowStepStateOutput) + StartFileTransfer(*transfer.StartFileTransferInput) (*transfer.StartFileTransferOutput, error) + StartFileTransferWithContext(aws.Context, *transfer.StartFileTransferInput, ...request.Option) (*transfer.StartFileTransferOutput, error) + StartFileTransferRequest(*transfer.StartFileTransferInput) (*request.Request, *transfer.StartFileTransferOutput) + StartServer(*transfer.StartServerInput) (*transfer.StartServerOutput, error) StartServerWithContext(aws.Context, *transfer.StartServerInput, ...request.Option) (*transfer.StartServerOutput, error) StartServerRequest(*transfer.StartServerInput) (*request.Request, *transfer.StartServerOutput) @@ -201,6 +281,22 @@ type TransferAPI interface { UpdateAccessWithContext(aws.Context, *transfer.UpdateAccessInput, ...request.Option) (*transfer.UpdateAccessOutput, error) UpdateAccessRequest(*transfer.UpdateAccessInput) (*request.Request, *transfer.UpdateAccessOutput) + UpdateAgreement(*transfer.UpdateAgreementInput) (*transfer.UpdateAgreementOutput, error) + UpdateAgreementWithContext(aws.Context, *transfer.UpdateAgreementInput, ...request.Option) (*transfer.UpdateAgreementOutput, error) + UpdateAgreementRequest(*transfer.UpdateAgreementInput) (*request.Request, *transfer.UpdateAgreementOutput) + + UpdateCertificate(*transfer.UpdateCertificateInput) (*transfer.UpdateCertificateOutput, error) + UpdateCertificateWithContext(aws.Context, *transfer.UpdateCertificateInput, ...request.Option) (*transfer.UpdateCertificateOutput, error) + UpdateCertificateRequest(*transfer.UpdateCertificateInput) (*request.Request, *transfer.UpdateCertificateOutput) + + UpdateConnector(*transfer.UpdateConnectorInput) (*transfer.UpdateConnectorOutput, error) + UpdateConnectorWithContext(aws.Context, *transfer.UpdateConnectorInput, ...request.Option) (*transfer.UpdateConnectorOutput, error) + UpdateConnectorRequest(*transfer.UpdateConnectorInput) (*request.Request, *transfer.UpdateConnectorOutput) + + UpdateProfile(*transfer.UpdateProfileInput) (*transfer.UpdateProfileOutput, error) + UpdateProfileWithContext(aws.Context, *transfer.UpdateProfileInput, ...request.Option) (*transfer.UpdateProfileOutput, error) + UpdateProfileRequest(*transfer.UpdateProfileInput) (*request.Request, *transfer.UpdateProfileOutput) + UpdateServer(*transfer.UpdateServerInput) (*transfer.UpdateServerOutput, error) UpdateServerWithContext(aws.Context, *transfer.UpdateServerInput, ...request.Option) (*transfer.UpdateServerOutput, error) UpdateServerRequest(*transfer.UpdateServerInput) (*request.Request, *transfer.UpdateServerOutput)