diff --git a/CHANGELOG.md b/CHANGELOG.md index 6b4cb966cc..3b345f8f75 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,14 @@ +Release v1.44.35 (2022-06-15) +=== + +### Service Client Updates +* `service/finspace-data`: Updates service API and documentation +* `service/guardduty`: Updates service API and documentation + * Adds finding fields available from GuardDuty Console. Adds FreeTrial related operations. Deprecates the use of various APIs related to Master Accounts and Replace them with Administrator Accounts. +* `service/servicecatalog-appregistry`: Updates service API, documentation, and paginators +* `service/workspaces`: Updates service API and documentation + * Added new field "reason" to OperationNotSupportedException. Receiving this exception in the DeregisterWorkspaceDirectory API will now return a reason giving more context on the failure. + Release v1.44.34 (2022-06-14) === diff --git a/aws/version.go b/aws/version.go index 49e551cfe8..5d9adab2d8 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.34" +const SDKVersion = "1.44.35" diff --git a/models/apis/finspace-data/2020-07-13/api-2.json b/models/apis/finspace-data/2020-07-13/api-2.json index ed455e94d1..30f8414a52 100644 --- a/models/apis/finspace-data/2020-07-13/api-2.json +++ b/models/apis/finspace-data/2020-07-13/api-2.json @@ -13,6 +13,23 @@ "uid":"finspace-2020-07-13" }, "operations":{ + "AssociateUserToPermissionGroup":{ + "name":"AssociateUserToPermissionGroup", + "http":{ + "method":"POST", + "requestUri":"/permission-group/{permissionGroupId}/users/{userId}" + }, + "input":{"shape":"AssociateUserToPermissionGroupRequest"}, + "output":{"shape":"AssociateUserToPermissionGroupResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"} + ] + }, "CreateChangeset":{ "name":"CreateChangeset", "http":{ @@ -153,6 +170,23 @@ {"shape":"ConflictException"} ] }, + "DisassociateUserFromPermissionGroup":{ + "name":"DisassociateUserFromPermissionGroup", + "http":{ + "method":"DELETE", + "requestUri":"/permission-group/{permissionGroupId}/users/{userId}" + }, + "input":{"shape":"DisassociateUserFromPermissionGroupRequest"}, + "output":{"shape":"DisassociateUserFromPermissionGroupResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"} + ] + }, "EnableUser":{ "name":"EnableUser", "http":{ @@ -221,6 +255,22 @@ {"shape":"ConflictException"} ] }, + "GetPermissionGroup":{ + "name":"GetPermissionGroup", + "http":{ + "method":"GET", + "requestUri":"/permission-group/{permissionGroupId}" + }, + "input":{"shape":"GetPermissionGroupRequest"}, + "output":{"shape":"GetPermissionGroupResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "GetProgrammaticAccessCredentials":{ "name":"GetProgrammaticAccessCredentials", "http":{ @@ -331,6 +381,22 @@ {"shape":"AccessDeniedException"} ] }, + "ListPermissionGroupsByUser":{ + "name":"ListPermissionGroupsByUser", + "http":{ + "method":"GET", + "requestUri":"/user/{userId}/permission-groups" + }, + "input":{"shape":"ListPermissionGroupsByUserRequest"}, + "output":{"shape":"ListPermissionGroupsByUserResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "ListUsers":{ "name":"ListUsers", "http":{ @@ -346,6 +412,22 @@ {"shape":"AccessDeniedException"} ] }, + "ListUsersByPermissionGroup":{ + "name":"ListUsersByPermissionGroup", + "http":{ + "method":"GET", + "requestUri":"/permission-group/{permissionGroupId}/users" + }, + "input":{"shape":"ListUsersByPermissionGroupRequest"}, + "output":{"shape":"ListUsersByPermissionGroupResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "ResetUserPassword":{ "name":"ResetUserPassword", "http":{ @@ -470,6 +552,38 @@ "type":"list", "member":{"shape":"ApplicationPermission"} }, + "AssociateUserToPermissionGroupRequest":{ + "type":"structure", + "required":[ + "permissionGroupId", + "userId" + ], + "members":{ + "permissionGroupId":{ + "shape":"PermissionGroupId", + "location":"uri", + "locationName":"permissionGroupId" + }, + "userId":{ + "shape":"UserId", + "location":"uri", + "locationName":"userId" + }, + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + } + } + }, + "AssociateUserToPermissionGroupResponse":{ + "type":"structure", + "members":{ + "statusCode":{ + "shape":"StatusCode", + "location":"statusCode" + } + } + }, "Boolean":{"type":"boolean"}, "ChangeType":{ "type":"string", @@ -554,7 +668,7 @@ "ColumnDescription":{ "type":"string", "max":512, - "pattern":"[\\s\\S]*\\S[\\s\\S]*" + "pattern":"[\\s\\S]*" }, "ColumnList":{ "type":"list", @@ -802,8 +916,7 @@ "DatasetDescription":{ "type":"string", "max":1000, - "min":1, - "pattern":"[\\s\\S]*\\S[\\s\\S]*" + "pattern":"[\\s\\S]*" }, "DatasetId":{ "type":"string", @@ -911,6 +1024,40 @@ "userId":{"shape":"UserId"} } }, + "DisassociateUserFromPermissionGroupRequest":{ + "type":"structure", + "required":[ + "permissionGroupId", + "userId" + ], + "members":{ + "permissionGroupId":{ + "shape":"PermissionGroupId", + "location":"uri", + "locationName":"permissionGroupId" + }, + "userId":{ + "shape":"UserId", + "location":"uri", + "locationName":"userId" + }, + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true, + "location":"querystring", + "locationName":"clientToken" + } + } + }, + "DisassociateUserFromPermissionGroupResponse":{ + "type":"structure", + "members":{ + "statusCode":{ + "shape":"StatusCode", + "location":"statusCode" + } + } + }, "Email":{ "type":"string", "max":320, @@ -1083,6 +1230,23 @@ "status":{"shape":"DatasetStatus"} } }, + "GetPermissionGroupRequest":{ + "type":"structure", + "required":["permissionGroupId"], + "members":{ + "permissionGroupId":{ + "shape":"PermissionGroupId", + "location":"uri", + "locationName":"permissionGroupId" + } + } + }, + "GetPermissionGroupResponse":{ + "type":"structure", + "members":{ + "permissionGroup":{"shape":"PermissionGroup"} + } + }, "GetProgrammaticAccessCredentialsRequest":{ "type":"structure", "required":["environmentId"], @@ -1268,6 +1432,37 @@ "nextToken":{"shape":"PaginationToken"} } }, + "ListPermissionGroupsByUserRequest":{ + "type":"structure", + "required":[ + "userId", + "maxResults" + ], + "members":{ + "userId":{ + "shape":"UserId", + "location":"uri", + "locationName":"userId" + }, + "nextToken":{ + "shape":"PaginationToken", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"ResultLimit", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListPermissionGroupsByUserResponse":{ + "type":"structure", + "members":{ + "permissionGroups":{"shape":"PermissionGroupByUserList"}, + "nextToken":{"shape":"PaginationToken"} + } + }, "ListPermissionGroupsRequest":{ "type":"structure", "required":["maxResults"], @@ -1291,6 +1486,37 @@ "nextToken":{"shape":"PaginationToken"} } }, + "ListUsersByPermissionGroupRequest":{ + "type":"structure", + "required":[ + "permissionGroupId", + "maxResults" + ], + "members":{ + "permissionGroupId":{ + "shape":"PermissionGroupId", + "location":"uri", + "locationName":"permissionGroupId" + }, + "nextToken":{ + "shape":"PaginationToken", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"ResultLimit", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListUsersByPermissionGroupResponse":{ + "type":"structure", + "members":{ + "users":{"shape":"UserByPermissionGroupList"}, + "nextToken":{"shape":"PaginationToken"} + } + }, "ListUsersRequest":{ "type":"structure", "required":["maxResults"], @@ -1340,14 +1566,27 @@ "description":{"shape":"PermissionGroupDescription"}, "applicationPermissions":{"shape":"ApplicationPermissionList"}, "createTime":{"shape":"TimestampEpoch"}, - "lastModifiedTime":{"shape":"TimestampEpoch"} + "lastModifiedTime":{"shape":"TimestampEpoch"}, + "membershipStatus":{"shape":"PermissionGroupMembershipStatus"} + } + }, + "PermissionGroupByUser":{ + "type":"structure", + "members":{ + "permissionGroupId":{"shape":"PermissionGroupId"}, + "name":{"shape":"PermissionGroupName"}, + "membershipStatus":{"shape":"PermissionGroupMembershipStatus"} } }, + "PermissionGroupByUserList":{ + "type":"list", + "member":{"shape":"PermissionGroupByUser"} + }, "PermissionGroupDescription":{ "type":"string", "max":4000, "min":1, - "pattern":".*\\S.*", + "pattern":"[\\s\\S]*", "sensitive":true }, "PermissionGroupId":{ @@ -1360,6 +1599,14 @@ "type":"list", "member":{"shape":"PermissionGroup"} }, + "PermissionGroupMembershipStatus":{ + "type":"string", + "enum":[ + "ADDITION_IN_PROGRESS", + "ADDITION_SUCCESS", + "REMOVAL_IN_PROGRESS" + ] + }, "PermissionGroupName":{ "type":"string", "max":255, @@ -1464,6 +1711,7 @@ "key":{"shape":"StringMapKey"}, "value":{"shape":"StringMapValue"} }, + "StatusCode":{"type":"integer"}, "StringMapKey":{ "type":"string", "max":128, @@ -1626,6 +1874,24 @@ "lastLoginTime":{"shape":"TimestampEpoch"} } }, + "UserByPermissionGroup":{ + "type":"structure", + "members":{ + "userId":{"shape":"UserId"}, + "status":{"shape":"UserStatus"}, + "firstName":{"shape":"FirstName"}, + "lastName":{"shape":"LastName"}, + "emailAddress":{"shape":"Email"}, + "type":{"shape":"UserType"}, + "apiAccess":{"shape":"ApiAccess"}, + "apiAccessPrincipalArn":{"shape":"RoleArn"}, + "membershipStatus":{"shape":"PermissionGroupMembershipStatus"} + } + }, + "UserByPermissionGroupList":{ + "type":"list", + "member":{"shape":"UserByPermissionGroup"} + }, "UserId":{ "type":"string", "max":26, diff --git a/models/apis/finspace-data/2020-07-13/docs-2.json b/models/apis/finspace-data/2020-07-13/docs-2.json index 274f7925c9..c0685c5f58 100644 --- a/models/apis/finspace-data/2020-07-13/docs-2.json +++ b/models/apis/finspace-data/2020-07-13/docs-2.json @@ -2,6 +2,7 @@ "version": "2.0", "service": "

The FinSpace APIs let you take actions inside the FinSpace.

", "operations": { + "AssociateUserToPermissionGroup": "

Adds a user account to a permission group to grant permissions for actions a user can perform in FinSpace.

", "CreateChangeset": "

Creates a new Changeset in a FinSpace Dataset.

", "CreateDataView": "

Creates a Dataview for a Dataset.

", "CreateDataset": "

Creates a new FinSpace Dataset.

", @@ -10,10 +11,12 @@ "DeleteDataset": "

Deletes a FinSpace Dataset.

", "DeletePermissionGroup": "

Deletes a permission group. This action is irreversible.

", "DisableUser": "

Denies access to the FinSpace web application and API for the specified user.

", + "DisassociateUserFromPermissionGroup": "

Removes a user account from a permission group.

", "EnableUser": "

Allows the specified user to access the FinSpace web application and API.

", "GetChangeset": "

Get information about a Changeset.

", "GetDataView": "

Gets information about a Dataview.

", "GetDataset": "

Returns information about a Dataset.

", + "GetPermissionGroup": "

Retrieves the details of a specific permission group.

", "GetProgrammaticAccessCredentials": "

Request programmatic credentials to use with FinSpace SDK.

", "GetUser": "

Retrieves details for a specific user.

", "GetWorkingLocation": "

A temporary Amazon S3 location, where you can copy your files from a source location to stage or use as a scratch space in FinSpace notebook.

", @@ -21,7 +24,9 @@ "ListDataViews": "

Lists all available Dataviews for a Dataset.

", "ListDatasets": "

Lists all of the active Datasets that a user has access to.

", "ListPermissionGroups": "

Lists all available permission groups in FinSpace.

", + "ListPermissionGroupsByUser": "

Lists all the permission groups that are associated with a specific user account.

", "ListUsers": "

Lists all available user accounts in FinSpace.

", + "ListUsersByPermissionGroup": "

Lists details of all the users in a specific permission group.

", "ResetUserPassword": "

Resets the password for a specified user ID and generates a temporary one. Only a superuser can reset password for other users. Resetting the password immediately invalidates the previous password associated with the user.

", "UpdateChangeset": "

Updates a FinSpace Changeset.

", "UpdateDataset": "

Updates a FinSpace Dataset.

", @@ -49,7 +54,8 @@ "CreateUserRequest$ApiAccess": "

The option to indicate whether the user can use the GetProgrammaticAccessCredentials API to obtain credentials that can then be used to access other FinSpace Data API operations.

", "GetUserResponse$apiAccess": "

Indicates whether the user can use the GetProgrammaticAccessCredentials API to obtain credentials that can then be used to access other FinSpace Data API operations.

", "UpdateUserRequest$apiAccess": "

The option to indicate whether the user can use the GetProgrammaticAccessCredentials API to obtain credentials that can then be used to access other FinSpace Data API operations.

", - "User$apiAccess": "

Indicates whether the user can use the GetProgrammaticAccessCredentials API to obtain credentials that can then be used to access other FinSpace Data API operations.

" + "User$apiAccess": "

Indicates whether the user can use the GetProgrammaticAccessCredentials API to obtain credentials that can then be used to access other FinSpace Data API operations.

", + "UserByPermissionGroup$apiAccess": "

Indicates whether the user can access FinSpace API operations.

" } }, "ApplicationPermission": { @@ -66,6 +72,16 @@ "UpdatePermissionGroupRequest$applicationPermissions": "

The permissions that are granted to a specific group for accessing the FinSpace application.

" } }, + "AssociateUserToPermissionGroupRequest": { + "base": null, + "refs": { + } + }, + "AssociateUserToPermissionGroupResponse": { + "base": null, + "refs": { + } + }, "Boolean": { "base": "Common Boolean data type", "refs": { @@ -126,6 +142,7 @@ "ClientToken": { "base": "Idempotence Token for API operations", "refs": { + "AssociateUserToPermissionGroupRequest$clientToken": "

A token that ensures idempotency. This token expires in 10 minutes.

", "CreateChangesetRequest$clientToken": "

A token that ensures idempotency. This token expires in 10 minutes.

", "CreateDataViewRequest$clientToken": "

A token that ensures idempotency. This token expires in 10 minutes.

", "CreateDatasetRequest$clientToken": "

A token that ensures idempotency. This token expires in 10 minutes.

", @@ -134,6 +151,7 @@ "DeleteDatasetRequest$clientToken": "

A token that ensures idempotency. This token expires in 10 minutes.

", "DeletePermissionGroupRequest$clientToken": "

A token that ensures idempotency. This token expires in 10 minutes.

", "DisableUserRequest$clientToken": "

A token that ensures idempotency. This token expires in 10 minutes.

", + "DisassociateUserFromPermissionGroupRequest$clientToken": "

A token that ensures idempotency. This token expires in 10 minutes.

", "EnableUserRequest$clientToken": "

A token that ensures idempotency. This token expires in 10 minutes.

", "ResetUserPasswordRequest$clientToken": "

A token that ensures idempotency. This token expires in 10 minutes.

", "UpdateChangesetRequest$clientToken": "

A token that ensures idempotency. This token expires in 10 minutes.

", @@ -411,13 +429,24 @@ "refs": { } }, + "DisassociateUserFromPermissionGroupRequest": { + "base": null, + "refs": { + } + }, + "DisassociateUserFromPermissionGroupResponse": { + "base": null, + "refs": { + } + }, "Email": { "base": null, "refs": { "CreateUserRequest$emailAddress": "

The email address of the user that you want to register. The email address serves as a uniquer identifier for each user and cannot be changed after it's created.

", "DatasetOwnerInfo$email": "

Email address for the Dataset owner.

", "GetUserResponse$emailAddress": "

The email address that is associated with the user.

", - "User$emailAddress": "

The email address of the user. The email address serves as a uniquer identifier for each user and cannot be changed after it's created.

" + "User$emailAddress": "

The email address of the user. The email address serves as a uniquer identifier for each user and cannot be changed after it's created.

", + "UserByPermissionGroup$emailAddress": "

The email address of the user. The email address serves as a unique identifier for each user and cannot be changed after it's created.

" } }, "EnableUserRequest": { @@ -447,7 +476,7 @@ "ExportFileFormat": { "base": "Data View Export File Format", "refs": { - "DataViewDestinationTypeParams$s3DestinationExportFileFormat": "

Data view export file format.

" + "DataViewDestinationTypeParams$s3DestinationExportFileFormat": "

Dataview export file format.

" } }, "FirstName": { @@ -456,7 +485,8 @@ "CreateUserRequest$firstName": "

The first name of the user that you want to register.

", "GetUserResponse$firstName": "

The first name of the user.

", "UpdateUserRequest$firstName": "

The first name of the user.

", - "User$firstName": "

The first name of the user.

" + "User$firstName": "

The first name of the user.

", + "UserByPermissionGroup$firstName": "

The first name of the user.

" } }, "FormatParams": { @@ -498,6 +528,16 @@ "refs": { } }, + "GetPermissionGroupRequest": { + "base": null, + "refs": { + } + }, + "GetPermissionGroupResponse": { + "base": null, + "refs": { + } + }, "GetProgrammaticAccessCredentialsRequest": { "base": "Request for GetProgrammaticAccessCredentials operation", "refs": { @@ -552,7 +592,8 @@ "CreateUserRequest$lastName": "

The last name of the user that you want to register.

", "GetUserResponse$lastName": "

The last name of the user.

", "UpdateUserRequest$lastName": "

The last name of the user.

", - "User$lastName": "

The last name of the user.

" + "User$lastName": "

The last name of the user.

", + "UserByPermissionGroup$lastName": "

The last name of the user.

" } }, "LimitExceededException": { @@ -590,6 +631,16 @@ "refs": { } }, + "ListPermissionGroupsByUserRequest": { + "base": null, + "refs": { + } + }, + "ListPermissionGroupsByUserResponse": { + "base": null, + "refs": { + } + }, "ListPermissionGroupsRequest": { "base": null, "refs": { @@ -600,6 +651,16 @@ "refs": { } }, + "ListUsersByPermissionGroupRequest": { + "base": null, + "refs": { + } + }, + "ListUsersByPermissionGroupResponse": { + "base": null, + "refs": { + } + }, "ListUsersRequest": { "base": null, "refs": { @@ -617,7 +678,7 @@ } }, "PaginationToken": { - "base": "Pagination token for list operations", + "base": null, "refs": { "ListChangesetsRequest$nextToken": "

A token that indicates where a results page should begin.

", "ListChangesetsResponse$nextToken": "

A token that indicates where a results page should begin.

", @@ -625,8 +686,12 @@ "ListDataViewsResponse$nextToken": "

A token that indicates where a results page should begin.

", "ListDatasetsRequest$nextToken": "

A token that indicates where a results page should begin.

", "ListDatasetsResponse$nextToken": "

A token that indicates where a results page should begin.

", + "ListPermissionGroupsByUserRequest$nextToken": "

A token that indicates where a results page should begin.

", + "ListPermissionGroupsByUserResponse$nextToken": "

A token that indicates where a results page should begin.

", "ListPermissionGroupsRequest$nextToken": "

A token that indicates where a results page should begin.

", "ListPermissionGroupsResponse$nextToken": "

A token that indicates where a results page should begin.

", + "ListUsersByPermissionGroupRequest$nextToken": "

A token that indicates where a results page should begin.

", + "ListUsersByPermissionGroupResponse$nextToken": "

A token that indicates where a results page should begin.

", "ListUsersRequest$nextToken": "

A token that indicates where a results page should begin.

", "ListUsersResponse$nextToken": "

A token that indicates where a results page should begin.

" } @@ -648,9 +713,22 @@ "PermissionGroup": { "base": "

The structure for a permission group.

", "refs": { + "GetPermissionGroupResponse$permissionGroup": null, "PermissionGroupList$member": null } }, + "PermissionGroupByUser": { + "base": "

The structure of a permission group associated with a user account.

", + "refs": { + "PermissionGroupByUserList$member": null + } + }, + "PermissionGroupByUserList": { + "base": null, + "refs": { + "ListPermissionGroupsByUserResponse$permissionGroups": "

A list of returned permission groups.

" + } + }, "PermissionGroupDescription": { "base": null, "refs": { @@ -662,10 +740,15 @@ "PermissionGroupId": { "base": null, "refs": { + "AssociateUserToPermissionGroupRequest$permissionGroupId": "

The unique identifier for the permission group.

", "CreatePermissionGroupResponse$permissionGroupId": "

The unique identifier for the permission group.

", "DeletePermissionGroupRequest$permissionGroupId": "

The unique identifier for the permission group that you want to delete.

", "DeletePermissionGroupResponse$permissionGroupId": "

The unique identifier for the deleted permission group.

", + "DisassociateUserFromPermissionGroupRequest$permissionGroupId": "

The unique identifier for the permission group.

", + "GetPermissionGroupRequest$permissionGroupId": "

The unique identifier for the permission group.

", + "ListUsersByPermissionGroupRequest$permissionGroupId": "

The unique identifier for the permission group.

", "PermissionGroup$permissionGroupId": "

The unique identifier for the permission group.

", + "PermissionGroupByUser$permissionGroupId": "

The unique identifier for the permission group.

", "PermissionGroupParams$permissionGroupId": "

The unique identifier for the PermissionGroup.

", "UpdatePermissionGroupRequest$permissionGroupId": "

The unique identifier for the permission group to update.

", "UpdatePermissionGroupResponse$permissionGroupId": "

The unique identifier for the updated permission group.

" @@ -677,11 +760,20 @@ "ListPermissionGroupsResponse$permissionGroups": "

A list of all the permission groups.

" } }, + "PermissionGroupMembershipStatus": { + "base": null, + "refs": { + "PermissionGroup$membershipStatus": "

Indicates the status of the user account within a permission group.

", + "PermissionGroupByUser$membershipStatus": "

Indicates the status of the user account within a permission group.

", + "UserByPermissionGroup$membershipStatus": "

Indicates the status of the user account within a permission group.

" + } + }, "PermissionGroupName": { "base": null, "refs": { "CreatePermissionGroupRequest$name": "

The name of the permission group.

", "PermissionGroup$name": "

The name of the permission group.

", + "PermissionGroupByUser$name": "

The name of the permission group.

", "UpdatePermissionGroupRequest$name": "

The name of the permission group.

" } }, @@ -725,12 +817,14 @@ } }, "ResultLimit": { - "base": "Maximum number of results to be returned as part of a list operation", + "base": null, "refs": { "ListChangesetsRequest$maxResults": "

The maximum number of results per page.

", "ListDataViewsRequest$maxResults": "

The maximum number of results per page.

", "ListDatasetsRequest$maxResults": "

The maximum number of results per page.

", + "ListPermissionGroupsByUserRequest$maxResults": "

The maximum number of results per page.

", "ListPermissionGroupsRequest$maxResults": "

The maximum number of results per page.

", + "ListUsersByPermissionGroupRequest$maxResults": "

The maximum number of results per page.

", "ListUsersRequest$maxResults": "

The maximum number of results per page.

" } }, @@ -740,7 +834,8 @@ "CreateUserRequest$apiAccessPrincipalArn": "

The ARN identifier of an AWS user or role that is allowed to call the GetProgrammaticAccessCredentials API to obtain a credentials token for a specific FinSpace user. This must be an IAM role within your FinSpace account.

", "GetUserResponse$apiAccessPrincipalArn": "

The ARN identifier of an AWS user or role that is allowed to call the GetProgrammaticAccessCredentials API to obtain a credentials token for a specific FinSpace user. This must be an IAM role within your FinSpace account.

", "UpdateUserRequest$apiAccessPrincipalArn": "

The ARN identifier of an AWS user or role that is allowed to call the GetProgrammaticAccessCredentials API to obtain a credentials token for a specific FinSpace user. This must be an IAM role within your FinSpace account.

", - "User$apiAccessPrincipalArn": "

The ARN identifier of an AWS user or role that is allowed to call the GetProgrammaticAccessCredentials API to obtain a credentials token for a specific FinSpace user. This must be an IAM role within your FinSpace account.

" + "User$apiAccessPrincipalArn": "

The ARN identifier of an AWS user or role that is allowed to call the GetProgrammaticAccessCredentials API to obtain a credentials token for a specific FinSpace user. This must be an IAM role within your FinSpace account.

", + "UserByPermissionGroup$apiAccessPrincipalArn": "

The IAM ARN identifier that is attached to FinSpace API calls.

" } }, "S3DestinationFormatOptions": { @@ -788,6 +883,13 @@ "UpdateChangesetRequest$sourceParams": "

Options that define the location of the data being ingested (s3SourcePath) and the source of the changeset (sourceType).

Both s3SourcePath and sourceType are required attributes.

Here is an example of how you could specify the sourceParams:

\"sourceParams\": { \"s3SourcePath\": \"s3://finspace-landing-us-east-2-bk7gcfvitndqa6ebnvys4d/scratch/wr5hh8pwkpqqkxa4sxrmcw/ingestion/equity.csv\", \"sourceType\": \"S3\" }

The S3 path that you specify must allow the FinSpace role access. To do that, you first need to configure the IAM policy on S3 bucket. For more information, see Loading data from an Amazon S3 Bucket using the FinSpace APIsection.

" } }, + "StatusCode": { + "base": null, + "refs": { + "AssociateUserToPermissionGroupResponse$statusCode": "

The returned status code of the response.

", + "DisassociateUserFromPermissionGroupResponse$statusCode": "

The returned status code of the response.

" + } + }, "StringMapKey": { "base": null, "refs": { @@ -903,21 +1005,37 @@ "UserList$member": null } }, + "UserByPermissionGroup": { + "base": "

The structure of a user account associated with a permission group.

", + "refs": { + "UserByPermissionGroupList$member": null + } + }, + "UserByPermissionGroupList": { + "base": null, + "refs": { + "ListUsersByPermissionGroupResponse$users": "

Lists details of all users in a specific permission group.

" + } + }, "UserId": { "base": null, "refs": { + "AssociateUserToPermissionGroupRequest$userId": "

The unique identifier for the user.

", "CreateUserResponse$userId": "

The unique identifier for the user.

", "DisableUserRequest$userId": "

The unique identifier for the user account that you want to disable.

", "DisableUserResponse$userId": "

The unique identifier for the disabled user account.

", + "DisassociateUserFromPermissionGroupRequest$userId": "

The unique identifier for the user.

", "EnableUserRequest$userId": "

The unique identifier for the user account that you want to enable.

", "EnableUserResponse$userId": "

The unique identifier for the enabled user account.

", "GetUserRequest$userId": "

The unique identifier of the user to get data for.

", "GetUserResponse$userId": "

The unique identifier for the user account that is retrieved.

", + "ListPermissionGroupsByUserRequest$userId": "

The unique identifier for the user.

", "ResetUserPasswordRequest$userId": "

The unique identifier of the user that a temporary password is requested for.

", "ResetUserPasswordResponse$userId": "

The unique identifier of the user that a new password is generated for.

", "UpdateUserRequest$userId": "

The unique identifier for the user account to update.

", "UpdateUserResponse$userId": "

The unique identifier of the updated user account.

", - "User$userId": "

The unique identifier for the user.

" + "User$userId": "

The unique identifier for the user.

", + "UserByPermissionGroup$userId": "

The unique identifier for the user.

" } }, "UserList": { @@ -930,16 +1048,18 @@ "base": null, "refs": { "GetUserResponse$status": "

The current status of the user account.

", - "User$status": "

The current status of the user account.

" + "User$status": "

The current status of the user account.

", + "UserByPermissionGroup$status": "

The current status of the user account.

" } }, "UserType": { "base": null, "refs": { "CreateUserRequest$type": "

The option to indicate the type of user. Use one of the following options to specify this parameter:

", - "GetUserResponse$type": "

Indicates the type of user.

", - "UpdateUserRequest$type": "

The option to indicate the type of user.

", - "User$type": "

Indicates the type of user.

" + "GetUserResponse$type": "

Indicates the type of user.

", + "UpdateUserRequest$type": "

The option to indicate the type of user.

", + "User$type": "

Indicates the type of user.

", + "UserByPermissionGroup$type": "

Indicates the type of user.

" } }, "ValidationException": { diff --git a/models/apis/guardduty/2017-11-28/api-2.json b/models/apis/guardduty/2017-11-28/api-2.json index b0defea1fb..215a7e685c 100644 --- a/models/apis/guardduty/2017-11-28/api-2.json +++ b/models/apis/guardduty/2017-11-28/api-2.json @@ -12,6 +12,20 @@ "uid":"guardduty-2017-11-28" }, "operations":{ + "AcceptAdministratorInvitation":{ + "name":"AcceptAdministratorInvitation", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/administrator", + "responseCode":200 + }, + "input":{"shape":"AcceptAdministratorInvitationRequest"}, + "output":{"shape":"AcceptAdministratorInvitationResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ] + }, "AcceptInvitation":{ "name":"AcceptInvitation", "http":{ @@ -24,7 +38,9 @@ "errors":[ {"shape":"BadRequestException"}, {"shape":"InternalServerErrorException"} - ] + ], + "deprecated":true, + "deprecatedMessage":"This operation is deprecated, use AcceptAdministratorInvitation instead" }, "ArchiveFindings":{ "name":"ArchiveFindings", @@ -292,6 +308,20 @@ {"shape":"InternalServerErrorException"} ] }, + "DisassociateFromAdministratorAccount":{ + "name":"DisassociateFromAdministratorAccount", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/administrator/disassociate", + "responseCode":200 + }, + "input":{"shape":"DisassociateFromAdministratorAccountRequest"}, + "output":{"shape":"DisassociateFromAdministratorAccountResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ] + }, "DisassociateFromMasterAccount":{ "name":"DisassociateFromMasterAccount", "http":{ @@ -304,7 +334,9 @@ "errors":[ {"shape":"BadRequestException"}, {"shape":"InternalServerErrorException"} - ] + ], + "deprecated":true, + "deprecatedMessage":"This operation is deprecated, use DisassociateFromAdministratorAccount instead" }, "DisassociateMembers":{ "name":"DisassociateMembers", @@ -334,6 +366,20 @@ {"shape":"InternalServerErrorException"} ] }, + "GetAdministratorAccount":{ + "name":"GetAdministratorAccount", + "http":{ + "method":"GET", + "requestUri":"/detector/{detectorId}/administrator", + "responseCode":200 + }, + "input":{"shape":"GetAdministratorAccountRequest"}, + "output":{"shape":"GetAdministratorAccountResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ] + }, "GetDetector":{ "name":"GetDetector", "http":{ @@ -430,7 +476,9 @@ "errors":[ {"shape":"BadRequestException"}, {"shape":"InternalServerErrorException"} - ] + ], + "deprecated":true, + "deprecatedMessage":"This operation is deprecated, use GetAdministratorAccount instead" }, "GetMemberDetectors":{ "name":"GetMemberDetectors", @@ -460,6 +508,20 @@ {"shape":"InternalServerErrorException"} ] }, + "GetRemainingFreeTrialDays":{ + "name":"GetRemainingFreeTrialDays", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/freeTrial/daysRemaining", + "responseCode":200 + }, + "input":{"shape":"GetRemainingFreeTrialDaysRequest"}, + "output":{"shape":"GetRemainingFreeTrialDaysResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ] + }, "GetThreatIntelSet":{ "name":"GetThreatIntelSet", "http":{ @@ -826,6 +888,34 @@ } }, "shapes":{ + "AcceptAdministratorInvitationRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "AdministratorId", + "InvitationId" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "location":"uri", + "locationName":"detectorId" + }, + "AdministratorId":{ + "shape":"String", + "locationName":"administratorId" + }, + "InvitationId":{ + "shape":"String", + "locationName":"invitationId" + } + } + }, + "AcceptAdministratorInvitationResponse":{ + "type":"structure", + "members":{ + } + }, "AcceptInvitationRequest":{ "type":"structure", "required":[ @@ -847,12 +937,16 @@ "shape":"String", "locationName":"invitationId" } - } + }, + "deprecated":true, + "deprecatedMessage":"This input is deprecated, use AcceptAdministratorInvitationRequest instead" }, "AcceptInvitationResponse":{ "type":"structure", "members":{ - } + }, + "deprecated":true, + "deprecatedMessage":"This output is deprecated, use AcceptAdministratorInvitationResponse instead" }, "AccessControlList":{ "type":"structure", @@ -911,6 +1005,23 @@ "max":50, "min":1 }, + "AccountFreeTrialInfo":{ + "type":"structure", + "members":{ + "AccountId":{ + "shape":"String", + "locationName":"accountId" + }, + "DataSources":{ + "shape":"DataSourcesFreeTrial", + "locationName":"dataSources" + } + } + }, + "AccountFreeTrialInfos":{ + "type":"list", + "member":{"shape":"AccountFreeTrialInfo"} + }, "AccountId":{ "type":"string", "max":12, @@ -988,6 +1099,32 @@ "max":300, "min":1 }, + "Administrator":{ + "type":"structure", + "members":{ + "AccountId":{ + "shape":"AccountId", + "locationName":"accountId" + }, + "InvitationId":{ + "shape":"String", + "locationName":"invitationId" + }, + "RelationshipStatus":{ + "shape":"String", + "locationName":"relationshipStatus" + }, + "InvitedAt":{ + "shape":"String", + "locationName":"invitedAt" + } + } + }, + "AffectedResources":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"String"} + }, "ArchiveFindingsRequest":{ "type":"structure", "required":[ @@ -1045,6 +1182,10 @@ "RemoteAccountDetails":{ "shape":"RemoteAccountDetails", "locationName":"remoteAccountDetails" + }, + "AffectedResources":{ + "shape":"AffectedResources", + "locationName":"affectedResources" } } }, @@ -1602,6 +1743,15 @@ } } }, + "DataSourceFreeTrial":{ + "type":"structure", + "members":{ + "FreeTrialDaysRemaining":{ + "shape":"Integer", + "locationName":"freeTrialDaysRemaining" + } + } + }, "DataSourceList":{ "type":"list", "member":{"shape":"DataSource"} @@ -1615,6 +1765,31 @@ "max":300, "min":1 }, + "DataSourcesFreeTrial":{ + "type":"structure", + "members":{ + "CloudTrail":{ + "shape":"DataSourceFreeTrial", + "locationName":"cloudTrail" + }, + "DnsLogs":{ + "shape":"DataSourceFreeTrial", + "locationName":"dnsLogs" + }, + "FlowLogs":{ + "shape":"DataSourceFreeTrial", + "locationName":"flowLogs" + }, + "S3Logs":{ + "shape":"DataSourceFreeTrial", + "locationName":"s3Logs" + }, + "Kubernetes":{ + "shape":"KubernetesDataSourceFreeTrial", + "locationName":"kubernetes" + } + } + }, "DeclineInvitationsRequest":{ "type":"structure", "required":["AccountIds"], @@ -1971,7 +2146,7 @@ "members":{ } }, - "DisassociateFromMasterAccountRequest":{ + "DisassociateFromAdministratorAccountRequest":{ "type":"structure", "required":["DetectorId"], "members":{ @@ -1982,11 +2157,31 @@ } } }, - "DisassociateFromMasterAccountResponse":{ + "DisassociateFromAdministratorAccountResponse":{ "type":"structure", "members":{ } }, + "DisassociateFromMasterAccountRequest":{ + "type":"structure", + "required":["DetectorId"], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "location":"uri", + "locationName":"detectorId" + } + }, + "deprecated":true, + "deprecatedMessage":"This input is deprecated, use DisassociateFromAdministratorAccountRequest instead" + }, + "DisassociateFromMasterAccountResponse":{ + "type":"structure", + "members":{ + }, + "deprecated":true, + "deprecatedMessage":"This output is deprecated, use DisassociateFromAdministratorAccountResponse instead" + }, "DisassociateMembersRequest":{ "type":"structure", "required":[ @@ -2021,6 +2216,14 @@ "Domain":{ "shape":"String", "locationName":"domain" + }, + "Protocol":{ + "shape":"String", + "locationName":"protocol" + }, + "Blocked":{ + "shape":"Boolean", + "locationName":"blocked" } } }, @@ -2301,6 +2504,27 @@ } } }, + "GetAdministratorAccountRequest":{ + "type":"structure", + "required":["DetectorId"], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "location":"uri", + "locationName":"detectorId" + } + } + }, + "GetAdministratorAccountResponse":{ + "type":"structure", + "required":["Administrator"], + "members":{ + "Administrator":{ + "shape":"Administrator", + "locationName":"administrator" + } + } + }, "GetDetectorRequest":{ "type":"structure", "required":["DetectorId"], @@ -2539,7 +2763,9 @@ "location":"uri", "locationName":"detectorId" } - } + }, + "deprecated":true, + "deprecatedMessage":"This input is deprecated, use GetAdministratorAccountRequest instead" }, "GetMasterAccountResponse":{ "type":"structure", @@ -2549,7 +2775,9 @@ "shape":"Master", "locationName":"master" } - } + }, + "deprecated":true, + "deprecatedMessage":"This output is deprecated, use GetAdministratorAccountResponse instead" }, "GetMemberDetectorsRequest":{ "type":"structure", @@ -2621,6 +2849,34 @@ } } }, + "GetRemainingFreeTrialDaysRequest":{ + "type":"structure", + "required":["DetectorId"], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "location":"uri", + "locationName":"detectorId" + }, + "AccountIds":{ + "shape":"AccountIds", + "locationName":"accountIds" + } + } + }, + "GetRemainingFreeTrialDaysResponse":{ + "type":"structure", + "members":{ + "Accounts":{ + "shape":"AccountFreeTrialInfos", + "locationName":"accounts" + }, + "UnprocessedAccounts":{ + "shape":"UnprocessedAccounts", + "locationName":"unprocessedAccounts" + } + } + }, "GetThreatIntelSetRequest":{ "type":"structure", "required":[ @@ -2995,6 +3251,15 @@ } } }, + "KubernetesDataSourceFreeTrial":{ + "type":"structure", + "members":{ + "AuditLogs":{ + "shape":"DataSourceFreeTrial", + "locationName":"auditLogs" + } + } + }, "KubernetesDetails":{ "type":"structure", "members":{ @@ -3474,6 +3739,10 @@ "UpdatedAt":{ "shape":"String", "locationName":"updatedAt" + }, + "AdministratorId":{ + "shape":"String", + "locationName":"administratorId" } } }, @@ -3794,11 +4063,11 @@ "members":{ "Code":{ "shape":"String", - "locationName":"code" + "locationName":"productCodeId" }, "ProductType":{ "shape":"String", - "locationName":"productType" + "locationName":"productCodeType" } } }, @@ -4043,6 +4312,23 @@ "UserFeedback":{ "shape":"String", "locationName":"userFeedback" + }, + "AdditionalInfo":{ + "shape":"ServiceAdditionalInfo", + "locationName":"additionalInfo" + } + } + }, + "ServiceAdditionalInfo":{ + "type":"structure", + "members":{ + "Value":{ + "shape":"String", + "locationName":"value" + }, + "Type":{ + "shape":"String", + "locationName":"type" } } }, diff --git a/models/apis/guardduty/2017-11-28/docs-2.json b/models/apis/guardduty/2017-11-28/docs-2.json index fbe3095735..66d4f78950 100644 --- a/models/apis/guardduty/2017-11-28/docs-2.json +++ b/models/apis/guardduty/2017-11-28/docs-2.json @@ -1,7 +1,8 @@ { "version": "2.0", - "service": "

Amazon GuardDuty is a continuous security monitoring service that analyzes and processes the following data sources: VPC Flow Logs, Amazon Web Services CloudTrail event logs, and DNS logs. It uses threat intelligence feeds (such as lists of malicious IPs and domains) and machine learning to identify unexpected, potentially unauthorized, and malicious activity within your Amazon Web Services environment. This can include issues like escalations of privileges, uses of exposed credentials, or communication with malicious IPs, URLs, or domains. For example, GuardDuty can detect compromised EC2 instances that serve malware or mine bitcoin.

GuardDuty also monitors Amazon Web Services account access behavior for signs of compromise. Some examples of this are unauthorized infrastructure deployments such as EC2 instances deployed in a Region that has never been used, or unusual API calls like a password policy change to reduce password strength.

GuardDuty informs you of the status of your Amazon Web Services environment by producing security findings that you can view in the GuardDuty console or through Amazon CloudWatch events. For more information, see the Amazon GuardDuty User Guide .

", + "service": "

Amazon GuardDuty is a continuous security monitoring service that analyzes and processes the following data sources: VPC Flow Logs, AWS CloudTrail management event logs, CloudTrail S3 data event logs, EKS audit logs, and DNS logs. It uses threat intelligence feeds (such as lists of malicious IPs and domains) and machine learning to identify unexpected, potentially unauthorized, and malicious activity within your Amazon Web Services environment. This can include issues like escalations of privileges, uses of exposed credentials, or communication with malicious IPs, URLs, or domains. For example, GuardDuty can detect compromised EC2 instances that serve malware or mine bitcoin.

GuardDuty also monitors Amazon Web Services account access behavior for signs of compromise. Some examples of this are unauthorized infrastructure deployments such as EC2 instances deployed in a Region that has never been used, or unusual API calls like a password policy change to reduce password strength.

GuardDuty informs you of the status of your Amazon Web Services environment by producing security findings that you can view in the GuardDuty console or through Amazon CloudWatch events. For more information, see the Amazon GuardDuty User Guide .

", "operations": { + "AcceptAdministratorInvitation": "

Accepts the invitation to be a member account and get monitored by a GuardDuty administrator account that sent the invitation.

", "AcceptInvitation": "

Accepts the invitation to be monitored by a GuardDuty administrator account.

", "ArchiveFindings": "

Archives GuardDuty findings that are specified by the list of finding IDs.

Only the administrator account can archive findings. Member accounts don't have permission to archive findings from their accounts.

", "CreateDetector": "

Creates a single Amazon GuardDuty detector. A detector is a resource that represents the GuardDuty service. To start using GuardDuty, you must create a detector in each Region where you enable the service. You can have only one detector per account per Region. All data sources are enabled in a new detector by default.

", @@ -22,9 +23,11 @@ "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.

", + "DisassociateFromAdministratorAccount": "

Disassociates the current GuardDuty member account from its administrator account.

", "DisassociateFromMasterAccount": "

Disassociates the current GuardDuty member account from its administrator account.

", - "DisassociateMembers": "

Disassociates GuardDuty member accounts (to the current GuardDuty administrator account) specified by the account IDs. Member accounts added through Invitation get deleted from the current GuardDuty administrator account after 30 days of disassociation.

", + "DisassociateMembers": "

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

", "EnableOrganizationAdminAccount": "

Enables an Amazon Web Services account within the organization as the GuardDuty delegated administrator.

", + "GetAdministratorAccount": "

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

", "GetDetector": "

Retrieves an Amazon GuardDuty detector specified by the detectorId.

", "GetFilter": "

Returns the details of the filter specified by the filter name.

", "GetFindings": "

Describes Amazon GuardDuty findings specified by finding IDs.

", @@ -34,8 +37,9 @@ "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.

", + "GetRemainingFreeTrialDays": "

Provides the number of days left for each data source used in the free trial period.

", "GetThreatIntelSet": "

Retrieves the ThreatIntelSet that is specified by the ThreatIntelSet ID.

", - "GetUsageStatistics": "

Lists Amazon GuardDuty usage statistics over the last 30 days for the specified detector ID. For newly enabled detectors or data sources the cost returned will include only the usage so far under 30 days, this may differ from the cost metrics in the console, which projects usage over 30 days to provide a monthly cost estimate. For more information see Understanding How Usage Costs are Calculated.

", + "GetUsageStatistics": "

Lists Amazon GuardDuty usage statistics over the last 30 days for the specified detector ID. For newly enabled detectors or data sources, the cost returned will include only the usage so far under 30 days. This may differ from the cost metrics in the console, which project usage over 30 days to provide a monthly cost estimate. For more information, see Understanding How Usage Costs are Calculated.

", "InviteMembers": "

Invites other Amazon Web Services accounts (created as members of the current Amazon Web Services account by CreateMembers) to enable GuardDuty, and allow the current Amazon Web Services account to view and manage these accounts' findings on their behalf as the GuardDuty administrator account.

", "ListDetectors": "

Lists detectorIds of all the existing Amazon GuardDuty detector resources.

", "ListFilters": "

Returns a paginated list of the current filters.

", @@ -62,6 +66,16 @@ "UpdateThreatIntelSet": "

Updates the ThreatIntelSet specified by the ThreatIntelSet ID.

" }, "shapes": { + "AcceptAdministratorInvitationRequest": { + "base": null, + "refs": { + } + }, + "AcceptAdministratorInvitationResponse": { + "base": null, + "refs": { + } + }, "AcceptInvitationRequest": { "base": null, "refs": { @@ -96,11 +110,24 @@ "CreateMembersRequest$AccountDetails": "

A list of account ID and email address pairs of the accounts that you want to associate with the GuardDuty administrator account.

" } }, + "AccountFreeTrialInfo": { + "base": "

Provides details of the GuardDuty member account that uses a free trial service.

", + "refs": { + "AccountFreeTrialInfos$member": null + } + }, + "AccountFreeTrialInfos": { + "base": null, + "refs": { + "GetRemainingFreeTrialDaysResponse$Accounts": "

The member accounts which were included in a request and were processed successfully.

" + } + }, "AccountId": { "base": null, "refs": { "AccountDetail$AccountId": "

The member account ID.

", "AccountIds$member": null, + "Administrator$AccountId": "

The ID of the account used as the administrator account.

", "Invitation$AccountId": "

The ID of the account that the invitation was sent from.

", "Master$AccountId": "

The ID of the account used as the administrator account.

", "Member$AccountId": "

The ID of the member account.

", @@ -118,6 +145,7 @@ "DisassociateMembersRequest$AccountIds": "

A list of account IDs of the GuardDuty member accounts that you want to disassociate from the administrator account.

", "GetMemberDetectorsRequest$AccountIds": "

The account ID of the member account.

", "GetMembersRequest$AccountIds": "

A list of account IDs of the GuardDuty member accounts that you want to describe.

", + "GetRemainingFreeTrialDaysRequest$AccountIds": "

A list of account identifiers of the GuardDuty member account.

", "InviteMembersRequest$AccountIds": "

A list of account IDs of the accounts that you want to invite to GuardDuty as members.

", "StartMonitoringMembersRequest$AccountIds": "

A list of account IDs of the GuardDuty member accounts to start monitoring.

", "StopMonitoringMembersRequest$AccountIds": "

A list of account IDs for the member accounts to stop monitoring.

", @@ -155,6 +183,18 @@ "AdminAccount$AdminStatus": "

Indicates whether the account is enabled as the delegated administrator.

" } }, + "Administrator": { + "base": "

Contains information about the administrator account and invitation.

", + "refs": { + "GetAdministratorAccountResponse$Administrator": "

The administrator account details.

" + } + }, + "AffectedResources": { + "base": null, + "refs": { + "AwsApiCallAction$AffectedResources": "

The details of the Amazon Web Services account that made the API call. This field identifies the resources that were affected by this API call.

" + } + }, "ArchiveFindingsRequest": { "base": null, "refs": { @@ -199,6 +239,7 @@ "CreateThreatIntelSetRequest$Activate": "

A Boolean value that indicates whether GuardDuty is to start using the uploaded ThreatIntelSet.

", "DescribeOrganizationConfigurationResponse$AutoEnable": "

Indicates whether GuardDuty is automatically enabled for accounts added to the organization.

", "DescribeOrganizationConfigurationResponse$MemberAccountLimitReached": "

Indicates whether the maximum number of allowed member accounts are already associated with the delegated administrator account for your organization.

", + "DnsRequestAction$Blocked": "

Indicates whether the targeted port is blocked.

", "InviteMembersRequest$DisableEmailNotification": "

A Boolean value that specifies whether you want to disable email notification to the accounts that you are inviting to GuardDuty as members.

", "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.

", @@ -386,6 +427,16 @@ "MemberDataSourceConfiguration$DataSources": "

Contains information on the status of data sources for the account.

" } }, + "DataSourceFreeTrial": { + "base": "

Contains information about which data sources are enabled for the GuardDuty member account.

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

Describes whether any AWS CloudTrail management event logs are enabled as data sources.

", + "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.

" + } + }, "DataSourceList": { "base": null, "refs": { @@ -402,6 +453,12 @@ "S3LogsConfigurationResult$Status": "

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

" } }, + "DataSourcesFreeTrial": { + "base": "

Contains information about which data sources are enabled for the GuardDuty member account.

", + "refs": { + "AccountFreeTrialInfo$DataSources": "

Describes the data source enabled for the GuardDuty member account.

" + } + }, "DeclineInvitationsRequest": { "base": null, "refs": { @@ -539,6 +596,7 @@ "DetectorId": { "base": null, "refs": { + "AcceptAdministratorInvitationRequest$DetectorId": "

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

", "AcceptInvitationRequest$DetectorId": "

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

", "ArchiveFindingsRequest$DetectorId": "

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

", "CreateDetectorResponse$DetectorId": "

The unique ID of the created detector.

", @@ -557,8 +615,10 @@ "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, + "DisassociateFromAdministratorAccountRequest$DetectorId": "

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

", "DisassociateFromMasterAccountRequest$DetectorId": "

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

", "DisassociateMembersRequest$DetectorId": "

The unique ID of the detector of the GuardDuty account whose members you want to disassociate from the administrator account.

", + "GetAdministratorAccountRequest$DetectorId": "

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

", "GetDetectorRequest$DetectorId": "

The unique ID of the detector that you want to get.

", "GetFilterRequest$DetectorId": "

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

", "GetFindingsRequest$DetectorId": "

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

", @@ -567,6 +627,7 @@ "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.

", + "GetRemainingFreeTrialDaysRequest$DetectorId": "

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

", "GetThreatIntelSetRequest$DetectorId": "

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

", "GetUsageStatisticsRequest$DetectorId": "

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

", "InviteMembersRequest$DetectorId": "

The unique ID of the detector of the GuardDuty account that you want to invite members with.

", @@ -613,6 +674,16 @@ "refs": { } }, + "DisassociateFromAdministratorAccountRequest": { + "base": null, + "refs": { + } + }, + "DisassociateFromAdministratorAccountResponse": { + "base": null, + "refs": { + } + }, "DisassociateFromMasterAccountRequest": { "base": null, "refs": { @@ -830,6 +901,16 @@ "RemoteIpDetails$GeoLocation": "

The location information of the remote IP address.

" } }, + "GetAdministratorAccountRequest": { + "base": null, + "refs": { + } + }, + "GetAdministratorAccountResponse": { + "base": null, + "refs": { + } + }, "GetDetectorRequest": { "base": null, "refs": { @@ -920,6 +1001,16 @@ "refs": { } }, + "GetRemainingFreeTrialDaysRequest": { + "base": null, + "refs": { + } + }, + "GetRemainingFreeTrialDaysResponse": { + "base": null, + "refs": { + } + }, "GetThreatIntelSetRequest": { "base": null, "refs": { @@ -980,6 +1071,7 @@ "Condition$Lt": "

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

", "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.

", "GetInvitationsCountResponse$InvitationsCount": "

The number of received invitations.

", "KubernetesApiCallAction$StatusCode": "

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

", "LocalPortDetails$Port": "

The port number of the local connection.

", @@ -1069,6 +1161,12 @@ "DataSourceConfigurationsResult$Kubernetes": "

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

" } }, + "KubernetesDataSourceFreeTrial": { + "base": "

Provides details about the Kubernetes resources when it is enabled as a data source.

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

Describes whether any Kubernetes logs are enabled as data sources.

" + } + }, "KubernetesDetails": { "base": "

Details about Kubernetes resources such as a Kubernetes user or workload resource involved in a Kubernetes finding.

", "refs": { @@ -1517,6 +1615,12 @@ "Finding$Service": null } }, + "ServiceAdditionalInfo": { + "base": "

Additional information about the generated finding.

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

Contains additional information about the generated finding.

" + } + }, "SortCriteria": { "base": "

Contains information about the criteria used for sorting findings.

", "refs": { @@ -1553,14 +1657,22 @@ "String": { "base": null, "refs": { + "AcceptAdministratorInvitationRequest$AdministratorId": "

The account ID of the GuardDuty administrator account whose invitation you're accepting.

", + "AcceptAdministratorInvitationRequest$InvitationId": "

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

", "AcceptInvitationRequest$MasterId": "

The account ID of the GuardDuty administrator account whose invitation you're accepting.

", "AcceptInvitationRequest$InvitationId": "

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

", "AccessKeyDetails$AccessKeyId": "

The access key ID of the user.

", "AccessKeyDetails$PrincipalId": "

The principal ID of the user.

", "AccessKeyDetails$UserName": "

The name of the user.

", "AccessKeyDetails$UserType": "

The type of the user.

", + "AccountFreeTrialInfo$AccountId": "

The account identifier of the GuardDuty member account.

", "Action$ActionType": "

The GuardDuty finding activity type.

", "AdminAccount$AdminAccountId": "

The Amazon Web Services account ID for the account.

", + "Administrator$InvitationId": "

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

", + "Administrator$RelationshipStatus": "

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

", + "Administrator$InvitedAt": "

The timestamp when the invitation was sent.

", + "AffectedResources$key": null, + "AffectedResources$value": null, "AwsApiCallAction$Api": "

The Amazon Web Services API name.

", "AwsApiCallAction$CallerType": "

The Amazon Web Services API caller type.

", "AwsApiCallAction$ErrorCode": "

The error code of the failed Amazon Web Services API action.

", @@ -1594,6 +1706,7 @@ "DestinationProperties$KmsKeyArn": "

The ARN of the KMS key to use for encryption.

", "DisableOrganizationAdminAccountRequest$AdminAccountId": "

The Amazon Web Services Account ID for the organizations account to be disabled as a GuardDuty delegated administrator.

", "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.

", "EksClusterDetails$Name": "

EKS cluster name.

", "EksClusterDetails$Arn": "

EKS cluster ARN.

", @@ -1680,6 +1793,7 @@ "Member$RelationshipStatus": "

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

", "Member$InvitedAt": "

The timestamp when the invitation was sent.

", "Member$UpdatedAt": "

The last-updated timestamp of the member.

", + "Member$AdministratorId": "

The administrator account ID.

", "Neq$member": null, "NetworkConnectionAction$ConnectionDirection": "

The network connection direction.

", "NetworkConnectionAction$Protocol": "

The network connection protocol.

", @@ -1716,6 +1830,8 @@ "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.

", + "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, "Tag$Key": "

The EC2 instance tag key.

", @@ -1873,6 +1989,7 @@ "DisassociateMembersResponse$UnprocessedAccounts": "

A list of objects that contain the unprocessed account and a result string that explains why it was unprocessed.

", "GetMemberDetectorsResponse$UnprocessedAccounts": "

A list of member account IDs that were unable to be processed along with an explanation for why they were not processed.

", "GetMembersResponse$UnprocessedAccounts": "

A list of objects that contain the unprocessed account and a result string that explains why it was unprocessed.

", + "GetRemainingFreeTrialDaysResponse$UnprocessedAccounts": "

The member account that was included in a request but for which the request could not be processed.

", "InviteMembersResponse$UnprocessedAccounts": "

A list of objects that contain the unprocessed account and a result string that explains why it was unprocessed.

", "StartMonitoringMembersResponse$UnprocessedAccounts": "

A list of objects that contain the unprocessed account and a result string that explains why it was unprocessed.

", "StopMonitoringMembersResponse$UnprocessedAccounts": "

A list of objects that contain an accountId for each account that could not be processed, and a result string that indicates why the account was not processed.

", diff --git a/models/apis/servicecatalog-appregistry/2020-06-24/api-2.json b/models/apis/servicecatalog-appregistry/2020-06-24/api-2.json index ac7875ec56..b3186089e7 100644 --- a/models/apis/servicecatalog-appregistry/2020-06-24/api-2.json +++ b/models/apis/servicecatalog-appregistry/2020-06-24/api-2.json @@ -25,7 +25,8 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ValidationException"}, {"shape":"InternalServerException"}, - {"shape":"ServiceQuotaExceededException"} + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"} ] }, "AssociateResource":{ @@ -40,7 +41,8 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InternalServerException"}, {"shape":"ServiceQuotaExceededException"}, - {"shape":"ConflictException"} + {"shape":"ConflictException"}, + {"shape":"ValidationException"} ] }, "CreateApplication":{ @@ -55,7 +57,8 @@ "errors":[ {"shape":"ServiceQuotaExceededException"}, {"shape":"ConflictException"}, - {"shape":"InternalServerException"} + {"shape":"InternalServerException"}, + {"shape":"ValidationException"} ] }, "CreateAttributeGroup":{ @@ -126,7 +129,8 @@ "output":{"shape":"DisassociateResourceResponse"}, "errors":[ {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"} + {"shape":"InternalServerException"}, + {"shape":"ValidationException"} ] }, "GetApplication":{ @@ -140,7 +144,8 @@ "errors":[ {"shape":"ResourceNotFoundException"}, {"shape":"ValidationException"}, - {"shape":"InternalServerException"} + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} ] }, "GetAssociatedResource":{ @@ -169,7 +174,8 @@ "errors":[ {"shape":"ResourceNotFoundException"}, {"shape":"ValidationException"}, - {"shape":"InternalServerException"} + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} ] }, "ListApplications":{ @@ -230,6 +236,21 @@ ], "idempotent":true }, + "ListAttributeGroupsForApplication":{ + "name":"ListAttributeGroupsForApplication", + "http":{ + "method":"GET", + "requestUri":"/applications/{application}/attribute-group-details" + }, + "input":{"shape":"ListAttributeGroupsForApplicationRequest"}, + "output":{"shape":"ListAttributeGroupsForApplicationResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ], + "idempotent":true + }, "ListTagsForResource":{ "name":"ListTagsForResource", "http":{ @@ -297,7 +318,8 @@ "errors":[ {"shape":"ResourceNotFoundException"}, {"shape":"ConflictException"}, - {"shape":"InternalServerException"} + {"shape":"InternalServerException"}, + {"shape":"ValidationException"} ] }, "UpdateAttributeGroup":{ @@ -444,6 +466,18 @@ "type":"string", "pattern":"arn:aws[-a-z]*:servicecatalog:[a-z]{2}(-gov)?-[a-z]+-\\d:\\d{12}:/attribute-groups/[a-z0-9]+" }, + "AttributeGroupDetails":{ + "type":"structure", + "members":{ + "id":{"shape":"AttributeGroupId"}, + "arn":{"shape":"AttributeGroupArn"}, + "name":{"shape":"Name"} + } + }, + "AttributeGroupDetailsList":{ + "type":"list", + "member":{"shape":"AttributeGroupDetails"} + }, "AttributeGroupId":{ "type":"string", "max":26, @@ -813,6 +847,35 @@ "nextToken":{"shape":"NextToken"} } }, + "ListAttributeGroupsForApplicationRequest":{ + "type":"structure", + "required":["application"], + "members":{ + "application":{ + "shape":"ApplicationSpecifier", + "location":"uri", + "locationName":"application" + }, + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "box":true, + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListAttributeGroupsForApplicationResponse":{ + "type":"structure", + "members":{ + "attributeGroupsDetails":{"shape":"AttributeGroupDetailsList"}, + "nextToken":{"shape":"NextToken"} + } + }, "ListAttributeGroupsRequest":{ "type":"structure", "members":{ diff --git a/models/apis/servicecatalog-appregistry/2020-06-24/docs-2.json b/models/apis/servicecatalog-appregistry/2020-06-24/docs-2.json index 555a445ec1..a8a9abeb86 100644 --- a/models/apis/servicecatalog-appregistry/2020-06-24/docs-2.json +++ b/models/apis/servicecatalog-appregistry/2020-06-24/docs-2.json @@ -17,6 +17,7 @@ "ListAssociatedAttributeGroups": "

Lists all attribute groups that are associated with specified application. Results are paginated.

", "ListAssociatedResources": "

Lists all resources that are associated with specified application. Results are paginated.

", "ListAttributeGroups": "

Lists all attribute groups which you have access to. Results are paginated.

", + "ListAttributeGroupsForApplication": "

Lists the details of all attribute groups associated with a specific application. The results display in pages.

", "ListTagsForResource": "

Lists all of the tags on the resource.

", "SyncResource": "

Syncs the resource with current AppRegistry records.

Specifically, the resource’s AppRegistry system tags sync with its associated application. We remove the resource's AppRegistry system tags if it does not associate with the application. The caller must have permissions to read and update the resource.

", "TagResource": "

Assigns one or more tags (key-value pairs) to the specified resource.

Each tag consists of a key and an optional value. If a tag with the same key is already associated with the resource, this action updates its value.

This operation returns an empty response if the call was successful.

", @@ -65,6 +66,7 @@ "GetAssociatedResourceRequest$application": "

The name or ID of the application.

", "ListAssociatedAttributeGroupsRequest$application": "

The name or ID of the application.

", "ListAssociatedResourcesRequest$application": "

The name or ID of the application.

", + "ListAttributeGroupsForApplicationRequest$application": "

The name or ID of the application.

", "UpdateApplicationRequest$application": "

The name or ID of the application that will be updated.

" } }, @@ -131,15 +133,29 @@ "refs": { "AssociateAttributeGroupResponse$attributeGroupArn": "

The Amazon resource name (ARN) of the attribute group that contains the application's new attributes.

", "AttributeGroup$arn": "

The Amazon resource name (ARN) that specifies the attribute group across services.

", + "AttributeGroupDetails$arn": "

The Amazon resource name (ARN) that specifies the attribute group.

", "AttributeGroupSummary$arn": "

The Amazon resource name (ARN) that specifies the attribute group across services.

", "DisassociateAttributeGroupResponse$attributeGroupArn": "

The Amazon resource name (ARN) that specifies the attribute group.

", "GetAttributeGroupResponse$arn": "

The Amazon resource name (ARN) that specifies the attribute group across services.

" } }, + "AttributeGroupDetails": { + "base": "

The details related to a specific AttributeGroup.

", + "refs": { + "AttributeGroupDetailsList$member": null + } + }, + "AttributeGroupDetailsList": { + "base": null, + "refs": { + "ListAttributeGroupsForApplicationResponse$attributeGroupsDetails": "

The details related to a specific AttributeGroup.

" + } + }, "AttributeGroupId": { "base": null, "refs": { "AttributeGroup$id": "

The globally unique attribute group identifier of the attribute group.

", + "AttributeGroupDetails$id": "

The unique identifier of the attribute group.

", "AttributeGroupIds$member": null, "AttributeGroupSummary$id": "

The globally unique attribute group identifier of the attribute group.

", "GetAttributeGroupResponse$id": "

The identifier of the attribute group.

" @@ -340,6 +356,16 @@ "refs": { } }, + "ListAttributeGroupsForApplicationRequest": { + "base": null, + "refs": { + } + }, + "ListAttributeGroupsForApplicationResponse": { + "base": null, + "refs": { + } + }, "ListAttributeGroupsRequest": { "base": null, "refs": { @@ -366,6 +392,7 @@ "ListApplicationsRequest$maxResults": "

The upper bound of the number of results to return (cannot exceed 25). If this parameter is omitted, it defaults to 25. This value is optional.

", "ListAssociatedAttributeGroupsRequest$maxResults": "

The upper bound of the number of results to return (cannot exceed 25). If this parameter is omitted, it defaults to 25. This value is optional.

", "ListAssociatedResourcesRequest$maxResults": "

The upper bound of the number of results to return (cannot exceed 25). If this parameter is omitted, it defaults to 25. This value is optional.

", + "ListAttributeGroupsForApplicationRequest$maxResults": "

The upper bound of the number of results to return. The value cannot exceed 25. If you omit this parameter, it defaults to 25. This value is optional.

", "ListAttributeGroupsRequest$maxResults": "

The upper bound of the number of results to return (cannot exceed 25). If this parameter is omitted, it defaults to 25. This value is optional.

" } }, @@ -375,13 +402,14 @@ "Application$name": "

The name of the application. The name must be unique in the region in which you are creating the application.

", "ApplicationSummary$name": "

The name of the application. The name must be unique in the region in which you are creating the application.

", "AttributeGroup$name": "

The name of the attribute group.

", + "AttributeGroupDetails$name": "

The name of the attribute group.

", "AttributeGroupSummary$name": "

The name of the attribute group.

", "CreateApplicationRequest$name": "

The name of the application. The name must be unique in the region in which you are creating the application.

", "CreateAttributeGroupRequest$name": "

The name of the attribute group.

", "GetApplicationResponse$name": "

The name of the application. The name must be unique in the region in which you are creating the application.

", "GetAttributeGroupResponse$name": "

The name of the attribute group.

", - "UpdateApplicationRequest$name": "

The new name of the application. The name must be unique in the region in which you are updating the application.

", - "UpdateAttributeGroupRequest$name": "

The new name of the attribute group. The name must be unique in the region in which you are updating the attribute group.

" + "UpdateApplicationRequest$name": "

Deprecated: The new name of the application. The name must be unique in the region in which you are updating the application. Please do not use this field as we have stopped supporting name updates.

", + "UpdateAttributeGroupRequest$name": "

Deprecated: The new name of the attribute group. The name must be unique in the region in which you are updating the attribute group. Please do not use this field as we have stopped supporting name updates.

" } }, "NextToken": { @@ -393,6 +421,8 @@ "ListAssociatedAttributeGroupsResponse$nextToken": "

The token to use to get the next page of results after a previous API call.

", "ListAssociatedResourcesRequest$nextToken": "

The token to use to get the next page of results after a previous API call.

", "ListAssociatedResourcesResponse$nextToken": "

The token to use to get the next page of results after a previous API call.

", + "ListAttributeGroupsForApplicationRequest$nextToken": "

This token retrieves the next page of results after a previous API call.

", + "ListAttributeGroupsForApplicationResponse$nextToken": "

The token to use to get the next page of results after a previous API call.

", "ListAttributeGroupsRequest$nextToken": "

The token to use to get the next page of results after a previous API call.

", "ListAttributeGroupsResponse$nextToken": "

The token to use to get the next page of results after a previous API call.

" } diff --git a/models/apis/servicecatalog-appregistry/2020-06-24/paginators-1.json b/models/apis/servicecatalog-appregistry/2020-06-24/paginators-1.json index 8c9a3bd7c9..55281fb779 100644 --- a/models/apis/servicecatalog-appregistry/2020-06-24/paginators-1.json +++ b/models/apis/servicecatalog-appregistry/2020-06-24/paginators-1.json @@ -23,6 +23,12 @@ "output_token": "nextToken", "limit_key": "maxResults", "result_key": "attributeGroups" + }, + "ListAttributeGroupsForApplication": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "attributeGroupsDetails" } } } diff --git a/models/apis/workspaces/2015-04-08/api-2.json b/models/apis/workspaces/2015-04-08/api-2.json index cdde3a2097..bd7123ae98 100644 --- a/models/apis/workspaces/2015-04-08/api-2.json +++ b/models/apis/workspaces/2015-04-08/api-2.json @@ -1825,6 +1825,7 @@ "pattern":"^ami\\-([a-f0-9]{8}|[a-f0-9]{17})$" }, "ErrorType":{"type":"string"}, + "ExceptionErrorCode":{"type":"string"}, "ExceptionMessage":{"type":"string"}, "FailedCreateWorkspaceRequest":{ "type":"structure", @@ -2225,7 +2226,8 @@ "OperationNotSupportedException":{ "type":"structure", "members":{ - "message":{"shape":"ExceptionMessage"} + "message":{"shape":"ExceptionMessage"}, + "reason":{"shape":"ExceptionErrorCode"} }, "exception":true }, diff --git a/models/apis/workspaces/2015-04-08/docs-2.json b/models/apis/workspaces/2015-04-08/docs-2.json index 38ecff3971..bcd4098b40 100644 --- a/models/apis/workspaces/2015-04-08/docs-2.json +++ b/models/apis/workspaces/2015-04-08/docs-2.json @@ -141,7 +141,7 @@ "ApplicationList": { "base": null, "refs": { - "ImportWorkspaceImageRequest$Applications": "

If specified, the version of Microsoft Office to subscribe to. Valid only for Windows 10 BYOL images. For more information about subscribing to Office for BYOL images, see Bring Your Own Windows Desktop Licenses.

" + "ImportWorkspaceImageRequest$Applications": "

If specified, the version of Microsoft Office to subscribe to. Valid only for Windows 10 BYOL images. For more information about subscribing to Office for BYOL images, see Bring Your Own Windows Desktop Licenses.

Although this parameter is an array, only one item is allowed at this time.

" } }, "AssociateConnectionAliasRequest": { @@ -300,14 +300,14 @@ "ClientUrl": { "base": null, "refs": { - "DefaultClientBrandingAttributes$LogoUrl": "

The logo URL. This is the link where users can download the logo image. The only supported image format is .png.

", + "DefaultClientBrandingAttributes$LogoUrl": "

The logo URL. The only image format accepted is a binary data object that is converted from a .png file.

", "DefaultClientBrandingAttributes$SupportLink": "

The support link. The link for the company's customer support page for their WorkSpace.

", "DefaultClientBrandingAttributes$ForgotPasswordLink": "

The forgotten password link. This is the web address that users can go to if they forget the password for their WorkSpace.

", "DefaultImportClientBrandingAttributes$SupportLink": "

The support link. The link for the company's customer support page for their WorkSpace.

", "DefaultImportClientBrandingAttributes$ForgotPasswordLink": "

The forgotten password link. This is the web address that users can go to if they forget the password for their WorkSpace.

", - "IosClientBrandingAttributes$LogoUrl": "

The logo. This is the link where users can download the logo image. This is the standard-resolution display that has a 1:1 pixel density (or @1x), where one pixel is equal to one point.

", - "IosClientBrandingAttributes$Logo2xUrl": "

The @2x version of the logo. This is the higher resolution display that offers a scale factor of 2.0 (or @2x).

For more information about iOS image size and resolution, see Image Size and Resolution in the Apple Human Interface Guidelines.

", - "IosClientBrandingAttributes$Logo3xUrl": "

The @3x version of the logo. This is the higher resolution display that offers a scale factor of 3.0 (or @3x).

For more information about iOS image size and resolution, see Image Size and Resolution in the Apple Human Interface Guidelines.

", + "IosClientBrandingAttributes$LogoUrl": "

The logo. This is the standard-resolution display that has a 1:1 pixel density (or @1x), where one pixel is equal to one point. The only image format accepted is a binary data object that is converted from a .png file.

", + "IosClientBrandingAttributes$Logo2xUrl": "

The @2x version of the logo. This is the higher resolution display that offers a scale factor of 2.0 (or @2x). The only image format accepted is a binary data object that is converted from a .png file.

For more information about iOS image size and resolution, see Image Size and Resolution in the Apple Human Interface Guidelines.

", + "IosClientBrandingAttributes$Logo3xUrl": "

The @3x version of the logo. This is the higher resolution display that offers a scale factor of 3.0 (or @3x).The only image format accepted is a binary data object that is converted from a .png file.

For more information about iOS image size and resolution, see Image Size and Resolution in the Apple Human Interface Guidelines.

", "IosClientBrandingAttributes$SupportLink": "

The support link. The link for the company's customer support page for their WorkSpace.

", "IosClientBrandingAttributes$ForgotPasswordLink": "

The forgotten password link. This is the web address that users can go to if they forget the password for their WorkSpace.

", "IosImportClientBrandingAttributes$SupportLink": "

The support link. The link for the company's customer support page for their WorkSpace.

", @@ -571,7 +571,7 @@ "DefaultLogo": { "base": null, "refs": { - "DefaultImportClientBrandingAttributes$Logo": "

The logo. This is the link where users can download the logo image. The only image format accepted is .png.

" + "DefaultImportClientBrandingAttributes$Logo": "

The logo. The only image format accepted is a binary data object that is converted from a .png file.

" } }, "DefaultOu": { @@ -920,6 +920,12 @@ "FailedWorkspaceChangeRequest$ErrorCode": "

The error code that is returned if the WorkSpace cannot be rebooted.

" } }, + "ExceptionErrorCode": { + "base": null, + "refs": { + "OperationNotSupportedException$reason": "

The exception error reason.

" + } + }, "ExceptionMessage": { "base": null, "refs": { @@ -927,7 +933,7 @@ "InvalidParameterValuesException$message": "

The exception error message.

", "InvalidResourceStateException$message": null, "OperationInProgressException$message": null, - "OperationNotSupportedException$message": null, + "OperationNotSupportedException$message": "

The exception error message.

", "ResourceAlreadyExistsException$message": null, "ResourceAssociatedException$message": null, "ResourceCreationFailedException$message": null, @@ -1042,13 +1048,13 @@ "Ios2XLogo": { "base": null, "refs": { - "IosImportClientBrandingAttributes$Logo2x": "

The @2x version of the logo. This is the higher resolution display that offers a scale factor of 2.0 (or @2x).

For more information about iOS image size and resolution, see Image Size and Resolution in the Apple Human Interface Guidelines.

" + "IosImportClientBrandingAttributes$Logo2x": "

The @2x version of the logo. This is the higher resolution display that offers a scale factor of 2.0 (or @2x). The only image format accepted is a binary data object that is converted from a .png file.

For more information about iOS image size and resolution, see Image Size and Resolution in the Apple Human Interface Guidelines.

" } }, "Ios3XLogo": { "base": null, "refs": { - "IosImportClientBrandingAttributes$Logo3x": "

The @3x version of the logo. This is the higher resolution display that offers a scale factor of 3.0 (or @3x).

For more information about iOS image size and resolution, see Image Size and Resolution in the Apple Human Interface Guidelines.

" + "IosImportClientBrandingAttributes$Logo3x": "

The @3x version of the logo. This is the higher resolution display that offers a scale factor of 3.0 (or @3x). The only image format accepted is a binary data object that is converted from a .png file.

For more information about iOS image size and resolution, see Image Size and Resolution in the Apple Human Interface Guidelines.

" } }, "IosClientBrandingAttributes": { @@ -1067,7 +1073,7 @@ "IosLogo": { "base": null, "refs": { - "IosImportClientBrandingAttributes$Logo": "

The logo. This is the link where users can download the logo image. This is the standard-resolution display that has a 1:1 pixel density (or @1x), where one pixel is equal to one point.

" + "IosImportClientBrandingAttributes$Logo": "

The logo. This is the standard-resolution display that has a 1:1 pixel density (or @1x), where one pixel is equal to one point. The only image format accepted is a binary data object that is converted from a .png file.

" } }, "IpAddress": { @@ -1948,7 +1954,7 @@ "WorkspaceImageIngestionProcess": { "base": null, "refs": { - "ImportWorkspaceImageRequest$IngestionProcess": "

The ingestion process to be used when importing the image, depending on which protocol you want to use for your BYOL Workspace image, either PCoIP or WorkSpaces Streaming Protocol (WSP). To use WSP, specify a value that ends in _WSP. To use PCoIP, specify a value that does not end in _WSP.

For non-GPU-enabled images (bundles other than Graphics.g4dn, GraphicsPro.g4dn, Graphics, or GraphicsPro), specify BYOL_REGULAR or BYOL_REGULAR_WSP, depending on the protocol.

Use BYOL_GRAPHICS_G4DN ingestion for both Graphics.g4dn and GraphicsPro.g4dn.

" + "ImportWorkspaceImageRequest$IngestionProcess": "

The ingestion process to be used when importing the image, depending on which protocol you want to use for your BYOL Workspace image, either PCoIP or WorkSpaces Streaming Protocol (WSP). To use WSP, specify a value that ends in _WSP. To use PCoIP, specify a value that does not end in _WSP.

For non-GPU-enabled bundles (bundles other than Graphics or GraphicsPro), specify BYOL_REGULAR or BYOL_REGULAR_WSP, depending on the protocol.

" } }, "WorkspaceImageList": { diff --git a/service/appregistry/api.go b/service/appregistry/api.go index c2e069f382..3ca6f87ad2 100644 --- a/service/appregistry/api.go +++ b/service/appregistry/api.go @@ -82,6 +82,10 @@ func (c *AppRegistry) AssociateAttributeGroupRequest(input *AssociateAttributeGr // * ServiceQuotaExceededException // The maximum number of resources per account has been reached. // +// * ConflictException +// There was a conflict when processing the request (for example, a resource +// with the given name already exists within the account). +// // See also, https://docs.aws.amazon.com/goto/WebAPI/AWS242AppRegistry-2020-06-24/AssociateAttributeGroup func (c *AppRegistry) AssociateAttributeGroup(input *AssociateAttributeGroupInput) (*AssociateAttributeGroupOutput, error) { req, out := c.AssociateAttributeGroupRequest(input) @@ -172,6 +176,9 @@ func (c *AppRegistry) AssociateResourceRequest(input *AssociateResourceInput) (r // There was a conflict when processing the request (for example, a resource // with the given name already exists within the account). // +// * ValidationException +// The request has invalid or missing parameters. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/AWS242AppRegistry-2020-06-24/AssociateResource func (c *AppRegistry) AssociateResource(input *AssociateResourceInput) (*AssociateResourceOutput, error) { req, out := c.AssociateResourceRequest(input) @@ -259,6 +266,9 @@ func (c *AppRegistry) CreateApplicationRequest(input *CreateApplicationInput) (r // * InternalServerException // The service is experiencing internal problems. // +// * ValidationException +// The request has invalid or missing parameters. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/AWS242AppRegistry-2020-06-24/CreateApplication func (c *AppRegistry) CreateApplication(input *CreateApplicationInput) (*CreateApplicationOutput, error) { req, out := c.CreateApplicationRequest(input) @@ -694,6 +704,9 @@ func (c *AppRegistry) DisassociateResourceRequest(input *DisassociateResourceInp // * InternalServerException // The service is experiencing internal problems. // +// * ValidationException +// The request has invalid or missing parameters. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/AWS242AppRegistry-2020-06-24/DisassociateResource func (c *AppRegistry) DisassociateResource(input *DisassociateResourceInput) (*DisassociateResourceOutput, error) { req, out := c.DisassociateResourceRequest(input) @@ -784,6 +797,10 @@ func (c *AppRegistry) GetApplicationRequest(input *GetApplicationInput) (req *re // * InternalServerException // The service is experiencing internal problems. // +// * ConflictException +// There was a conflict when processing the request (for example, a resource +// with the given name already exists within the account). +// // See also, https://docs.aws.amazon.com/goto/WebAPI/AWS242AppRegistry-2020-06-24/GetApplication func (c *AppRegistry) GetApplication(input *GetApplicationInput) (*GetApplicationOutput, error) { req, out := c.GetApplicationRequest(input) @@ -955,6 +972,10 @@ func (c *AppRegistry) GetAttributeGroupRequest(input *GetAttributeGroupInput) (r // * InternalServerException // The service is experiencing internal problems. // +// * ConflictException +// There was a conflict when processing the request (for example, a resource +// with the given name already exists within the account). +// // See also, https://docs.aws.amazon.com/goto/WebAPI/AWS242AppRegistry-2020-06-24/GetAttributeGroup func (c *AppRegistry) GetAttributeGroup(input *GetAttributeGroupInput) (*GetAttributeGroupOutput, error) { req, out := c.GetAttributeGroupRequest(input) @@ -1545,6 +1566,150 @@ func (c *AppRegistry) ListAttributeGroupsPagesWithContext(ctx aws.Context, input return p.Err() } +const opListAttributeGroupsForApplication = "ListAttributeGroupsForApplication" + +// ListAttributeGroupsForApplicationRequest generates a "aws/request.Request" representing the +// client's request for the ListAttributeGroupsForApplication 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 ListAttributeGroupsForApplication for more information on using the ListAttributeGroupsForApplication +// 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 ListAttributeGroupsForApplicationRequest method. +// req, resp := client.ListAttributeGroupsForApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/AWS242AppRegistry-2020-06-24/ListAttributeGroupsForApplication +func (c *AppRegistry) ListAttributeGroupsForApplicationRequest(input *ListAttributeGroupsForApplicationInput) (req *request.Request, output *ListAttributeGroupsForApplicationOutput) { + op := &request.Operation{ + Name: opListAttributeGroupsForApplication, + HTTPMethod: "GET", + HTTPPath: "/applications/{application}/attribute-group-details", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListAttributeGroupsForApplicationInput{} + } + + output = &ListAttributeGroupsForApplicationOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListAttributeGroupsForApplication API operation for AWS Service Catalog App Registry. +// +// Lists the details of all attribute groups associated with a specific application. +// The results display in pages. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Service Catalog App Registry's +// API operation ListAttributeGroupsForApplication for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The specified resource does not exist. +// +// * ValidationException +// The request has invalid or missing parameters. +// +// * InternalServerException +// The service is experiencing internal problems. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/AWS242AppRegistry-2020-06-24/ListAttributeGroupsForApplication +func (c *AppRegistry) ListAttributeGroupsForApplication(input *ListAttributeGroupsForApplicationInput) (*ListAttributeGroupsForApplicationOutput, error) { + req, out := c.ListAttributeGroupsForApplicationRequest(input) + return out, req.Send() +} + +// ListAttributeGroupsForApplicationWithContext is the same as ListAttributeGroupsForApplication with the addition of +// the ability to pass a context and additional request options. +// +// See ListAttributeGroupsForApplication 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 *AppRegistry) ListAttributeGroupsForApplicationWithContext(ctx aws.Context, input *ListAttributeGroupsForApplicationInput, opts ...request.Option) (*ListAttributeGroupsForApplicationOutput, error) { + req, out := c.ListAttributeGroupsForApplicationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListAttributeGroupsForApplicationPages iterates over the pages of a ListAttributeGroupsForApplication operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListAttributeGroupsForApplication 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 ListAttributeGroupsForApplication operation. +// pageNum := 0 +// err := client.ListAttributeGroupsForApplicationPages(params, +// func(page *appregistry.ListAttributeGroupsForApplicationOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *AppRegistry) ListAttributeGroupsForApplicationPages(input *ListAttributeGroupsForApplicationInput, fn func(*ListAttributeGroupsForApplicationOutput, bool) bool) error { + return c.ListAttributeGroupsForApplicationPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListAttributeGroupsForApplicationPagesWithContext same as ListAttributeGroupsForApplicationPages 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 *AppRegistry) ListAttributeGroupsForApplicationPagesWithContext(ctx aws.Context, input *ListAttributeGroupsForApplicationInput, fn func(*ListAttributeGroupsForApplicationOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListAttributeGroupsForApplicationInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListAttributeGroupsForApplicationRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListAttributeGroupsForApplicationOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListTagsForResource = "ListTagsForResource" // ListTagsForResourceRequest generates a "aws/request.Request" representing the @@ -1964,6 +2129,9 @@ func (c *AppRegistry) UpdateApplicationRequest(input *UpdateApplicationInput) (r // * InternalServerException // The service is experiencing internal problems. // +// * ValidationException +// The request has invalid or missing parameters. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/AWS242AppRegistry-2020-06-24/UpdateApplication func (c *AppRegistry) UpdateApplication(input *UpdateApplicationInput) (*UpdateApplicationOutput, error) { req, out := c.UpdateApplicationRequest(input) @@ -2566,6 +2734,56 @@ func (s *AttributeGroup) SetTags(v map[string]*string) *AttributeGroup { return s } +// The details related to a specific AttributeGroup. +type AttributeGroupDetails struct { + _ struct{} `type:"structure"` + + // The Amazon resource name (ARN) that specifies the attribute group. + Arn *string `locationName:"arn" type:"string"` + + // The unique identifier of the attribute group. + Id *string `locationName:"id" min:"26" type:"string"` + + // The name of the attribute group. + Name *string `locationName:"name" 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 AttributeGroupDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AttributeGroupDetails) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *AttributeGroupDetails) SetArn(v string) *AttributeGroupDetails { + s.Arn = &v + return s +} + +// SetId sets the Id field's value. +func (s *AttributeGroupDetails) SetId(v string) *AttributeGroupDetails { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *AttributeGroupDetails) SetName(v string) *AttributeGroupDetails { + s.Name = &v + return s +} + // Summary of a Amazon Web Services Service Catalog AppRegistry attribute group. type AttributeGroupSummary struct { _ struct{} `type:"structure"` @@ -4187,6 +4405,120 @@ func (s *ListAssociatedResourcesOutput) SetResources(v []*ResourceInfo) *ListAss return s } +type ListAttributeGroupsForApplicationInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The name or ID of the application. + // + // Application is a required field + Application *string `location:"uri" locationName:"application" min:"1" type:"string" required:"true"` + + // The upper bound of the number of results to return. The value cannot exceed + // 25. If you omit this parameter, it defaults to 25. This value is optional. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // This token retrieves the next page of results after a previous API call. + NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListAttributeGroupsForApplicationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListAttributeGroupsForApplicationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListAttributeGroupsForApplicationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListAttributeGroupsForApplicationInput"} + if s.Application == nil { + invalidParams.Add(request.NewErrParamRequired("Application")) + } + if s.Application != nil && len(*s.Application) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Application", 1)) + } + 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 +} + +// SetApplication sets the Application field's value. +func (s *ListAttributeGroupsForApplicationInput) SetApplication(v string) *ListAttributeGroupsForApplicationInput { + s.Application = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListAttributeGroupsForApplicationInput) SetMaxResults(v int64) *ListAttributeGroupsForApplicationInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAttributeGroupsForApplicationInput) SetNextToken(v string) *ListAttributeGroupsForApplicationInput { + s.NextToken = &v + return s +} + +type ListAttributeGroupsForApplicationOutput struct { + _ struct{} `type:"structure"` + + // The details related to a specific AttributeGroup. + AttributeGroupsDetails []*AttributeGroupDetails `locationName:"attributeGroupsDetails" type:"list"` + + // The token to use to get the next page of results after a previous API call. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListAttributeGroupsForApplicationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListAttributeGroupsForApplicationOutput) GoString() string { + return s.String() +} + +// SetAttributeGroupsDetails sets the AttributeGroupsDetails field's value. +func (s *ListAttributeGroupsForApplicationOutput) SetAttributeGroupsDetails(v []*AttributeGroupDetails) *ListAttributeGroupsForApplicationOutput { + s.AttributeGroupsDetails = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAttributeGroupsForApplicationOutput) SetNextToken(v string) *ListAttributeGroupsForApplicationOutput { + s.NextToken = &v + return s +} + type ListAttributeGroupsInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -4986,8 +5318,9 @@ type UpdateApplicationInput struct { // The new description of the application. Description *string `locationName:"description" type:"string"` - // The new name of the application. The name must be unique in the region in - // which you are updating the application. + // Deprecated: The new name of the application. The name must be unique in the + // region in which you are updating the application. Please do not use this + // field as we have stopped supporting name updates. // // Deprecated: Name update for application is deprecated. Name *string `locationName:"name" min:"1" deprecated:"true" type:"string"` @@ -5095,8 +5428,9 @@ type UpdateAttributeGroupInput struct { // The description of the attribute group that the user provides. Description *string `locationName:"description" type:"string"` - // The new name of the attribute group. The name must be unique in the region - // in which you are updating the attribute group. + // Deprecated: The new name of the attribute group. The name must be unique + // in the region in which you are updating the attribute group. Please do not + // use this field as we have stopped supporting name updates. // // Deprecated: Name update for attribute group is deprecated. Name *string `locationName:"name" min:"1" deprecated:"true" type:"string"` diff --git a/service/appregistry/appregistryiface/interface.go b/service/appregistry/appregistryiface/interface.go index 8293385f58..56f530acf1 100644 --- a/service/appregistry/appregistryiface/interface.go +++ b/service/appregistry/appregistryiface/interface.go @@ -132,6 +132,13 @@ type AppRegistryAPI interface { ListAttributeGroupsPages(*appregistry.ListAttributeGroupsInput, func(*appregistry.ListAttributeGroupsOutput, bool) bool) error ListAttributeGroupsPagesWithContext(aws.Context, *appregistry.ListAttributeGroupsInput, func(*appregistry.ListAttributeGroupsOutput, bool) bool, ...request.Option) error + ListAttributeGroupsForApplication(*appregistry.ListAttributeGroupsForApplicationInput) (*appregistry.ListAttributeGroupsForApplicationOutput, error) + ListAttributeGroupsForApplicationWithContext(aws.Context, *appregistry.ListAttributeGroupsForApplicationInput, ...request.Option) (*appregistry.ListAttributeGroupsForApplicationOutput, error) + ListAttributeGroupsForApplicationRequest(*appregistry.ListAttributeGroupsForApplicationInput) (*request.Request, *appregistry.ListAttributeGroupsForApplicationOutput) + + ListAttributeGroupsForApplicationPages(*appregistry.ListAttributeGroupsForApplicationInput, func(*appregistry.ListAttributeGroupsForApplicationOutput, bool) bool) error + ListAttributeGroupsForApplicationPagesWithContext(aws.Context, *appregistry.ListAttributeGroupsForApplicationInput, func(*appregistry.ListAttributeGroupsForApplicationOutput, bool) bool, ...request.Option) error + ListTagsForResource(*appregistry.ListTagsForResourceInput) (*appregistry.ListTagsForResourceOutput, error) ListTagsForResourceWithContext(aws.Context, *appregistry.ListTagsForResourceInput, ...request.Option) (*appregistry.ListTagsForResourceOutput, error) ListTagsForResourceRequest(*appregistry.ListTagsForResourceInput) (*request.Request, *appregistry.ListTagsForResourceOutput) diff --git a/service/finspacedata/api.go b/service/finspacedata/api.go index b1e5d1c31f..0934721447 100644 --- a/service/finspacedata/api.go +++ b/service/finspacedata/api.go @@ -11,6 +11,102 @@ import ( "github.com/aws/aws-sdk-go/private/protocol" ) +const opAssociateUserToPermissionGroup = "AssociateUserToPermissionGroup" + +// AssociateUserToPermissionGroupRequest generates a "aws/request.Request" representing the +// client's request for the AssociateUserToPermissionGroup 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 AssociateUserToPermissionGroup for more information on using the AssociateUserToPermissionGroup +// 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 AssociateUserToPermissionGroupRequest method. +// req, resp := client.AssociateUserToPermissionGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2020-07-13/AssociateUserToPermissionGroup +func (c *FinSpaceData) AssociateUserToPermissionGroupRequest(input *AssociateUserToPermissionGroupInput) (req *request.Request, output *AssociateUserToPermissionGroupOutput) { + op := &request.Operation{ + Name: opAssociateUserToPermissionGroup, + HTTPMethod: "POST", + HTTPPath: "/permission-group/{permissionGroupId}/users/{userId}", + } + + if input == nil { + input = &AssociateUserToPermissionGroupInput{} + } + + output = &AssociateUserToPermissionGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// AssociateUserToPermissionGroup API operation for FinSpace Public API. +// +// Adds a user account to a permission group to grant permissions for actions +// a user can perform in FinSpace. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for FinSpace Public API's +// API operation AssociateUserToPermissionGroup for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * AccessDeniedException +// You do not have sufficient access to perform this action. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ConflictException +// The request conflicts with an existing resource. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2020-07-13/AssociateUserToPermissionGroup +func (c *FinSpaceData) AssociateUserToPermissionGroup(input *AssociateUserToPermissionGroupInput) (*AssociateUserToPermissionGroupOutput, error) { + req, out := c.AssociateUserToPermissionGroupRequest(input) + return out, req.Send() +} + +// AssociateUserToPermissionGroupWithContext is the same as AssociateUserToPermissionGroup with the addition of +// the ability to pass a context and additional request options. +// +// See AssociateUserToPermissionGroup 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 *FinSpaceData) AssociateUserToPermissionGroupWithContext(ctx aws.Context, input *AssociateUserToPermissionGroupInput, opts ...request.Option) (*AssociateUserToPermissionGroupOutput, error) { + req, out := c.AssociateUserToPermissionGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateChangeset = "CreateChangeset" // CreateChangesetRequest generates a "aws/request.Request" representing the @@ -784,6 +880,101 @@ func (c *FinSpaceData) DisableUserWithContext(ctx aws.Context, input *DisableUse return out, req.Send() } +const opDisassociateUserFromPermissionGroup = "DisassociateUserFromPermissionGroup" + +// DisassociateUserFromPermissionGroupRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateUserFromPermissionGroup 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 DisassociateUserFromPermissionGroup for more information on using the DisassociateUserFromPermissionGroup +// 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 DisassociateUserFromPermissionGroupRequest method. +// req, resp := client.DisassociateUserFromPermissionGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2020-07-13/DisassociateUserFromPermissionGroup +func (c *FinSpaceData) DisassociateUserFromPermissionGroupRequest(input *DisassociateUserFromPermissionGroupInput) (req *request.Request, output *DisassociateUserFromPermissionGroupOutput) { + op := &request.Operation{ + Name: opDisassociateUserFromPermissionGroup, + HTTPMethod: "DELETE", + HTTPPath: "/permission-group/{permissionGroupId}/users/{userId}", + } + + if input == nil { + input = &DisassociateUserFromPermissionGroupInput{} + } + + output = &DisassociateUserFromPermissionGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// DisassociateUserFromPermissionGroup API operation for FinSpace Public API. +// +// Removes a user account from a permission group. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for FinSpace Public API's +// API operation DisassociateUserFromPermissionGroup for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * AccessDeniedException +// You do not have sufficient access to perform this action. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ConflictException +// The request conflicts with an existing resource. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2020-07-13/DisassociateUserFromPermissionGroup +func (c *FinSpaceData) DisassociateUserFromPermissionGroup(input *DisassociateUserFromPermissionGroupInput) (*DisassociateUserFromPermissionGroupOutput, error) { + req, out := c.DisassociateUserFromPermissionGroupRequest(input) + return out, req.Send() +} + +// DisassociateUserFromPermissionGroupWithContext is the same as DisassociateUserFromPermissionGroup with the addition of +// the ability to pass a context and additional request options. +// +// See DisassociateUserFromPermissionGroup 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 *FinSpaceData) DisassociateUserFromPermissionGroupWithContext(ctx aws.Context, input *DisassociateUserFromPermissionGroupInput, opts ...request.Option) (*DisassociateUserFromPermissionGroupOutput, error) { + req, out := c.DisassociateUserFromPermissionGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opEnableUser = "EnableUser" // EnableUserRequest generates a "aws/request.Request" representing the @@ -1164,6 +1355,98 @@ func (c *FinSpaceData) GetDatasetWithContext(ctx aws.Context, input *GetDatasetI return out, req.Send() } +const opGetPermissionGroup = "GetPermissionGroup" + +// GetPermissionGroupRequest generates a "aws/request.Request" representing the +// client's request for the GetPermissionGroup 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 GetPermissionGroup for more information on using the GetPermissionGroup +// 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 GetPermissionGroupRequest method. +// req, resp := client.GetPermissionGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2020-07-13/GetPermissionGroup +func (c *FinSpaceData) GetPermissionGroupRequest(input *GetPermissionGroupInput) (req *request.Request, output *GetPermissionGroupOutput) { + op := &request.Operation{ + Name: opGetPermissionGroup, + HTTPMethod: "GET", + HTTPPath: "/permission-group/{permissionGroupId}", + } + + if input == nil { + input = &GetPermissionGroupInput{} + } + + output = &GetPermissionGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetPermissionGroup API operation for FinSpace Public API. +// +// Retrieves the details of a specific permission group. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for FinSpace Public API's +// API operation GetPermissionGroup for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * AccessDeniedException +// You do not have sufficient access to perform this action. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2020-07-13/GetPermissionGroup +func (c *FinSpaceData) GetPermissionGroup(input *GetPermissionGroupInput) (*GetPermissionGroupOutput, error) { + req, out := c.GetPermissionGroupRequest(input) + return out, req.Send() +} + +// GetPermissionGroupWithContext is the same as GetPermissionGroup with the addition of +// the ability to pass a context and additional request options. +// +// See GetPermissionGroup 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 *FinSpaceData) GetPermissionGroupWithContext(ctx aws.Context, input *GetPermissionGroupInput, opts ...request.Option) (*GetPermissionGroupOutput, error) { + req, out := c.GetPermissionGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetProgrammaticAccessCredentials = "GetProgrammaticAccessCredentials" // GetProgrammaticAccessCredentialsRequest generates a "aws/request.Request" representing the @@ -2035,64 +2318,59 @@ func (c *FinSpaceData) ListPermissionGroupsPagesWithContext(ctx aws.Context, inp return p.Err() } -const opListUsers = "ListUsers" +const opListPermissionGroupsByUser = "ListPermissionGroupsByUser" -// ListUsersRequest generates a "aws/request.Request" representing the -// client's request for the ListUsers operation. The "output" return +// ListPermissionGroupsByUserRequest generates a "aws/request.Request" representing the +// client's request for the ListPermissionGroupsByUser 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 ListPermissionGroupsByUser for more information on using the ListPermissionGroupsByUser // 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 ListPermissionGroupsByUserRequest method. +// req, resp := client.ListPermissionGroupsByUserRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2020-07-13/ListUsers -func (c *FinSpaceData) ListUsersRequest(input *ListUsersInput) (req *request.Request, output *ListUsersOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2020-07-13/ListPermissionGroupsByUser +func (c *FinSpaceData) ListPermissionGroupsByUserRequest(input *ListPermissionGroupsByUserInput) (req *request.Request, output *ListPermissionGroupsByUserOutput) { op := &request.Operation{ - Name: opListUsers, + Name: opListPermissionGroupsByUser, HTTPMethod: "GET", - HTTPPath: "/user", - Paginator: &request.Paginator{ - InputTokens: []string{"nextToken"}, - OutputTokens: []string{"nextToken"}, - LimitToken: "maxResults", - TruncationToken: "", - }, + HTTPPath: "/user/{userId}/permission-groups", } if input == nil { - input = &ListUsersInput{} + input = &ListPermissionGroupsByUserInput{} } - output = &ListUsersOutput{} + output = &ListPermissionGroupsByUserOutput{} req = c.newRequest(op, input, output) return } -// ListUsers API operation for FinSpace Public API. +// ListPermissionGroupsByUser API operation for FinSpace Public API. // -// Lists all available user accounts in FinSpace. +// Lists all the permission groups that are associated with a specific user +// account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for FinSpace Public API's -// API operation ListUsers for usage and error information. +// API operation ListPermissionGroupsByUser for usage and error information. // // Returned Error Types: // * InternalServerException @@ -2108,36 +2386,134 @@ func (c *FinSpaceData) ListUsersRequest(input *ListUsersInput) (req *request.Req // * AccessDeniedException // You do not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2020-07-13/ListUsers -func (c *FinSpaceData) ListUsers(input *ListUsersInput) (*ListUsersOutput, error) { - req, out := c.ListUsersRequest(input) +// * ResourceNotFoundException +// One or more resources can't be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2020-07-13/ListPermissionGroupsByUser +func (c *FinSpaceData) ListPermissionGroupsByUser(input *ListPermissionGroupsByUserInput) (*ListPermissionGroupsByUserOutput, error) { + req, out := c.ListPermissionGroupsByUserRequest(input) return out, req.Send() } -// ListUsersWithContext is the same as ListUsers with the addition of +// ListPermissionGroupsByUserWithContext is the same as ListPermissionGroupsByUser 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 ListPermissionGroupsByUser 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 *FinSpaceData) ListUsersWithContext(ctx aws.Context, input *ListUsersInput, opts ...request.Option) (*ListUsersOutput, error) { - req, out := c.ListUsersRequest(input) +func (c *FinSpaceData) ListPermissionGroupsByUserWithContext(ctx aws.Context, input *ListPermissionGroupsByUserInput, opts ...request.Option) (*ListPermissionGroupsByUserOutput, error) { + req, out := c.ListPermissionGroupsByUserRequest(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. -// +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/finspace-2020-07-13/ListUsers +func (c *FinSpaceData) ListUsersRequest(input *ListUsersInput) (req *request.Request, output *ListUsersOutput) { + op := &request.Operation{ + Name: opListUsers, + HTTPMethod: "GET", + HTTPPath: "/user", + 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 FinSpace Public API. +// +// Lists all available user accounts in FinSpace. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for FinSpace Public API's +// API operation ListUsers for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * AccessDeniedException +// You do not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2020-07-13/ListUsers +func (c *FinSpaceData) 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 *FinSpaceData) 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, @@ -2182,6 +2558,98 @@ func (c *FinSpaceData) ListUsersPagesWithContext(ctx aws.Context, input *ListUse return p.Err() } +const opListUsersByPermissionGroup = "ListUsersByPermissionGroup" + +// ListUsersByPermissionGroupRequest generates a "aws/request.Request" representing the +// client's request for the ListUsersByPermissionGroup 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 ListUsersByPermissionGroup for more information on using the ListUsersByPermissionGroup +// 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 ListUsersByPermissionGroupRequest method. +// req, resp := client.ListUsersByPermissionGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2020-07-13/ListUsersByPermissionGroup +func (c *FinSpaceData) ListUsersByPermissionGroupRequest(input *ListUsersByPermissionGroupInput) (req *request.Request, output *ListUsersByPermissionGroupOutput) { + op := &request.Operation{ + Name: opListUsersByPermissionGroup, + HTTPMethod: "GET", + HTTPPath: "/permission-group/{permissionGroupId}/users", + } + + if input == nil { + input = &ListUsersByPermissionGroupInput{} + } + + output = &ListUsersByPermissionGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListUsersByPermissionGroup API operation for FinSpace Public API. +// +// Lists details of all the users in a specific permission group. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for FinSpace Public API's +// API operation ListUsersByPermissionGroup for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// * ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * AccessDeniedException +// You do not have sufficient access to perform this action. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2020-07-13/ListUsersByPermissionGroup +func (c *FinSpaceData) ListUsersByPermissionGroup(input *ListUsersByPermissionGroupInput) (*ListUsersByPermissionGroupOutput, error) { + req, out := c.ListUsersByPermissionGroupRequest(input) + return out, req.Send() +} + +// ListUsersByPermissionGroupWithContext is the same as ListUsersByPermissionGroup with the addition of +// the ability to pass a context and additional request options. +// +// See ListUsersByPermissionGroup 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 *FinSpaceData) ListUsersByPermissionGroupWithContext(ctx aws.Context, input *ListUsersByPermissionGroupInput, opts ...request.Option) (*ListUsersByPermissionGroupOutput, error) { + req, out := c.ListUsersByPermissionGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opResetUserPassword = "ResetUserPassword" // ResetUserPasswordRequest generates a "aws/request.Request" representing the @@ -2724,6 +3192,115 @@ func (s *AccessDeniedException) RequestID() string { return s.RespMetadata.RequestID } +type AssociateUserToPermissionGroupInput struct { + _ struct{} `type:"structure"` + + // A token that ensures idempotency. This token expires in 10 minutes. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // The unique identifier for the permission group. + // + // PermissionGroupId is a required field + PermissionGroupId *string `location:"uri" locationName:"permissionGroupId" min:"1" type:"string" required:"true"` + + // The unique identifier for the user. + // + // UserId is a required field + UserId *string `location:"uri" locationName:"userId" 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 AssociateUserToPermissionGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssociateUserToPermissionGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateUserToPermissionGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateUserToPermissionGroupInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.PermissionGroupId == nil { + invalidParams.Add(request.NewErrParamRequired("PermissionGroupId")) + } + if s.PermissionGroupId != nil && len(*s.PermissionGroupId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PermissionGroupId", 1)) + } + if s.UserId == nil { + invalidParams.Add(request.NewErrParamRequired("UserId")) + } + if s.UserId != nil && len(*s.UserId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *AssociateUserToPermissionGroupInput) SetClientToken(v string) *AssociateUserToPermissionGroupInput { + s.ClientToken = &v + return s +} + +// SetPermissionGroupId sets the PermissionGroupId field's value. +func (s *AssociateUserToPermissionGroupInput) SetPermissionGroupId(v string) *AssociateUserToPermissionGroupInput { + s.PermissionGroupId = &v + return s +} + +// SetUserId sets the UserId field's value. +func (s *AssociateUserToPermissionGroupInput) SetUserId(v string) *AssociateUserToPermissionGroupInput { + s.UserId = &v + return s +} + +type AssociateUserToPermissionGroupOutput struct { + _ struct{} `type:"structure"` + + // The returned status code of the response. + StatusCode *int64 `location:"statusCode" locationName:"statusCode" 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 AssociateUserToPermissionGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssociateUserToPermissionGroupOutput) GoString() string { + return s.String() +} + +// SetStatusCode sets the StatusCode field's value. +func (s *AssociateUserToPermissionGroupOutput) SetStatusCode(v int64) *AssociateUserToPermissionGroupOutput { + s.StatusCode = &v + return s +} + // The structure with error messages. type ChangesetErrorInfo struct { _ struct{} `type:"structure"` @@ -3437,7 +4014,7 @@ type CreateDatasetInput struct { ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` // Description of a Dataset. - DatasetDescription *string `locationName:"datasetDescription" min:"1" type:"string"` + DatasetDescription *string `locationName:"datasetDescription" type:"string"` // Display title for a FinSpace Dataset. // @@ -3492,9 +4069,6 @@ func (s *CreateDatasetInput) Validate() error { if s.ClientToken != nil && len(*s.ClientToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) } - if s.DatasetDescription != nil && len(*s.DatasetDescription) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DatasetDescription", 1)) - } if s.DatasetTitle == nil { invalidParams.Add(request.NewErrParamRequired("DatasetTitle")) } @@ -3990,7 +4564,7 @@ type DataViewDestinationTypeParams struct { // DestinationType is a required field DestinationType *string `locationName:"destinationType" type:"string" required:"true"` - // Data view export file format. + // Dataview export file format. // // * PARQUET – Parquet export file format. // @@ -4283,7 +4857,7 @@ type Dataset struct { DatasetArn *string `locationName:"datasetArn" type:"string"` // Description for a Dataset. - DatasetDescription *string `locationName:"datasetDescription" min:"1" type:"string"` + DatasetDescription *string `locationName:"datasetDescription" type:"string"` // An identifier for a Dataset. DatasetId *string `locationName:"datasetId" min:"1" type:"string"` @@ -4739,6 +5313,115 @@ func (s *DisableUserOutput) SetUserId(v string) *DisableUserOutput { return s } +type DisassociateUserFromPermissionGroupInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // A token that ensures idempotency. This token expires in 10 minutes. + ClientToken *string `location:"querystring" locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // The unique identifier for the permission group. + // + // PermissionGroupId is a required field + PermissionGroupId *string `location:"uri" locationName:"permissionGroupId" min:"1" type:"string" required:"true"` + + // The unique identifier for the user. + // + // UserId is a required field + UserId *string `location:"uri" locationName:"userId" 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 DisassociateUserFromPermissionGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisassociateUserFromPermissionGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateUserFromPermissionGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateUserFromPermissionGroupInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.PermissionGroupId == nil { + invalidParams.Add(request.NewErrParamRequired("PermissionGroupId")) + } + if s.PermissionGroupId != nil && len(*s.PermissionGroupId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PermissionGroupId", 1)) + } + if s.UserId == nil { + invalidParams.Add(request.NewErrParamRequired("UserId")) + } + if s.UserId != nil && len(*s.UserId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *DisassociateUserFromPermissionGroupInput) SetClientToken(v string) *DisassociateUserFromPermissionGroupInput { + s.ClientToken = &v + return s +} + +// SetPermissionGroupId sets the PermissionGroupId field's value. +func (s *DisassociateUserFromPermissionGroupInput) SetPermissionGroupId(v string) *DisassociateUserFromPermissionGroupInput { + s.PermissionGroupId = &v + return s +} + +// SetUserId sets the UserId field's value. +func (s *DisassociateUserFromPermissionGroupInput) SetUserId(v string) *DisassociateUserFromPermissionGroupInput { + s.UserId = &v + return s +} + +type DisassociateUserFromPermissionGroupOutput struct { + _ struct{} `type:"structure"` + + // The returned status code of the response. + StatusCode *int64 `location:"statusCode" locationName:"statusCode" 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 DisassociateUserFromPermissionGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisassociateUserFromPermissionGroupOutput) GoString() string { + return s.String() +} + +// SetStatusCode sets the StatusCode field's value. +func (s *DisassociateUserFromPermissionGroupOutput) SetStatusCode(v int64) *DisassociateUserFromPermissionGroupOutput { + s.StatusCode = &v + return s +} + type EnableUserInput struct { _ struct{} `type:"structure"` @@ -5342,7 +6025,7 @@ type GetDatasetOutput struct { DatasetArn *string `locationName:"datasetArn" type:"string"` // A description of the Dataset. - DatasetDescription *string `locationName:"datasetDescription" min:"1" type:"string"` + DatasetDescription *string `locationName:"datasetDescription" type:"string"` // The unique identifier for a Dataset. DatasetId *string `locationName:"datasetId" min:"1" type:"string"` @@ -5382,7 +6065,141 @@ type GetDatasetOutput 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 GetDatasetOutput) String() string { +func (s GetDatasetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetDatasetOutput) GoString() string { + return s.String() +} + +// SetAlias sets the Alias field's value. +func (s *GetDatasetOutput) SetAlias(v string) *GetDatasetOutput { + s.Alias = &v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *GetDatasetOutput) SetCreateTime(v int64) *GetDatasetOutput { + s.CreateTime = &v + return s +} + +// SetDatasetArn sets the DatasetArn field's value. +func (s *GetDatasetOutput) SetDatasetArn(v string) *GetDatasetOutput { + s.DatasetArn = &v + return s +} + +// SetDatasetDescription sets the DatasetDescription field's value. +func (s *GetDatasetOutput) SetDatasetDescription(v string) *GetDatasetOutput { + s.DatasetDescription = &v + return s +} + +// SetDatasetId sets the DatasetId field's value. +func (s *GetDatasetOutput) SetDatasetId(v string) *GetDatasetOutput { + s.DatasetId = &v + return s +} + +// SetDatasetTitle sets the DatasetTitle field's value. +func (s *GetDatasetOutput) SetDatasetTitle(v string) *GetDatasetOutput { + s.DatasetTitle = &v + return s +} + +// SetKind sets the Kind field's value. +func (s *GetDatasetOutput) SetKind(v string) *GetDatasetOutput { + s.Kind = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *GetDatasetOutput) SetLastModifiedTime(v int64) *GetDatasetOutput { + s.LastModifiedTime = &v + return s +} + +// SetSchemaDefinition sets the SchemaDefinition field's value. +func (s *GetDatasetOutput) SetSchemaDefinition(v *SchemaUnion) *GetDatasetOutput { + s.SchemaDefinition = v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetDatasetOutput) SetStatus(v string) *GetDatasetOutput { + s.Status = &v + return s +} + +type GetPermissionGroupInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The unique identifier for the permission group. + // + // PermissionGroupId is a required field + PermissionGroupId *string `location:"uri" locationName:"permissionGroupId" 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 GetPermissionGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetPermissionGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetPermissionGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetPermissionGroupInput"} + if s.PermissionGroupId == nil { + invalidParams.Add(request.NewErrParamRequired("PermissionGroupId")) + } + if s.PermissionGroupId != nil && len(*s.PermissionGroupId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PermissionGroupId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPermissionGroupId sets the PermissionGroupId field's value. +func (s *GetPermissionGroupInput) SetPermissionGroupId(v string) *GetPermissionGroupInput { + s.PermissionGroupId = &v + return s +} + +type GetPermissionGroupOutput struct { + _ struct{} `type:"structure"` + + // The structure for a permission group. + PermissionGroup *PermissionGroup `locationName:"permissionGroup" 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 GetPermissionGroupOutput) String() string { return awsutil.Prettify(s) } @@ -5391,67 +6208,13 @@ func (s GetDatasetOutput) 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 GetDatasetOutput) GoString() string { +func (s GetPermissionGroupOutput) GoString() string { return s.String() } -// SetAlias sets the Alias field's value. -func (s *GetDatasetOutput) SetAlias(v string) *GetDatasetOutput { - s.Alias = &v - return s -} - -// SetCreateTime sets the CreateTime field's value. -func (s *GetDatasetOutput) SetCreateTime(v int64) *GetDatasetOutput { - s.CreateTime = &v - return s -} - -// SetDatasetArn sets the DatasetArn field's value. -func (s *GetDatasetOutput) SetDatasetArn(v string) *GetDatasetOutput { - s.DatasetArn = &v - return s -} - -// SetDatasetDescription sets the DatasetDescription field's value. -func (s *GetDatasetOutput) SetDatasetDescription(v string) *GetDatasetOutput { - s.DatasetDescription = &v - return s -} - -// SetDatasetId sets the DatasetId field's value. -func (s *GetDatasetOutput) SetDatasetId(v string) *GetDatasetOutput { - s.DatasetId = &v - return s -} - -// SetDatasetTitle sets the DatasetTitle field's value. -func (s *GetDatasetOutput) SetDatasetTitle(v string) *GetDatasetOutput { - s.DatasetTitle = &v - return s -} - -// SetKind sets the Kind field's value. -func (s *GetDatasetOutput) SetKind(v string) *GetDatasetOutput { - s.Kind = &v - return s -} - -// SetLastModifiedTime sets the LastModifiedTime field's value. -func (s *GetDatasetOutput) SetLastModifiedTime(v int64) *GetDatasetOutput { - s.LastModifiedTime = &v - return s -} - -// SetSchemaDefinition sets the SchemaDefinition field's value. -func (s *GetDatasetOutput) SetSchemaDefinition(v *SchemaUnion) *GetDatasetOutput { - s.SchemaDefinition = v - return s -} - -// SetStatus sets the Status field's value. -func (s *GetDatasetOutput) SetStatus(v string) *GetDatasetOutput { - s.Status = &v +// SetPermissionGroup sets the PermissionGroup field's value. +func (s *GetPermissionGroupOutput) SetPermissionGroup(v *PermissionGroup) *GetPermissionGroupOutput { + s.PermissionGroup = v return s } @@ -5680,7 +6443,7 @@ type GetUserOutput struct { // in FinSpace. // // * APP_USER – A user with specific permissions in FinSpace. The users - // are assigned permissions by adding them to a permissions group. + // are assigned permissions by adding them to a permission group. Type *string `locationName:"type" type:"string" enum:"UserType"` // The unique identifier for the user account that is retrieved. @@ -6224,12 +6987,223 @@ func (s *ListDataViewsOutput) SetNextToken(v string) *ListDataViewsOutput { return s } -// Request for the ListDatasets operation. -type ListDatasetsInput struct { +// Request for the ListDatasets operation. +type ListDatasetsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The maximum number of results per page. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // A token that indicates where a results page should begin. + 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 ListDatasetsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListDatasetsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListDatasetsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDatasetsInput"} + 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 *ListDatasetsInput) SetMaxResults(v int64) *ListDatasetsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDatasetsInput) SetNextToken(v string) *ListDatasetsInput { + s.NextToken = &v + return s +} + +// Response for the ListDatasets operation +type ListDatasetsOutput struct { + _ struct{} `type:"structure"` + + // List of Datasets. + Datasets []*Dataset `locationName:"datasets" type:"list"` + + // A token that indicates where a results page should begin. + 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 ListDatasetsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListDatasetsOutput) GoString() string { + return s.String() +} + +// SetDatasets sets the Datasets field's value. +func (s *ListDatasetsOutput) SetDatasets(v []*Dataset) *ListDatasetsOutput { + s.Datasets = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDatasetsOutput) SetNextToken(v string) *ListDatasetsOutput { + s.NextToken = &v + return s +} + +type ListPermissionGroupsByUserInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The maximum number of results per page. + // + // MaxResults is a required field + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer" required:"true"` + + // A token that indicates where a results page should begin. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // The unique identifier for the user. + // + // UserId is a required field + UserId *string `location:"uri" locationName:"userId" 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 ListPermissionGroupsByUserInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListPermissionGroupsByUserInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListPermissionGroupsByUserInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListPermissionGroupsByUserInput"} + if s.MaxResults == nil { + invalidParams.Add(request.NewErrParamRequired("MaxResults")) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.UserId == nil { + invalidParams.Add(request.NewErrParamRequired("UserId")) + } + if s.UserId != nil && len(*s.UserId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListPermissionGroupsByUserInput) SetMaxResults(v int64) *ListPermissionGroupsByUserInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPermissionGroupsByUserInput) SetNextToken(v string) *ListPermissionGroupsByUserInput { + s.NextToken = &v + return s +} + +// SetUserId sets the UserId field's value. +func (s *ListPermissionGroupsByUserInput) SetUserId(v string) *ListPermissionGroupsByUserInput { + s.UserId = &v + return s +} + +type ListPermissionGroupsByUserOutput struct { + _ struct{} `type:"structure"` + + // A token that indicates where a results page should begin. + NextToken *string `locationName:"nextToken" type:"string"` + + // A list of returned permission groups. + PermissionGroups []*PermissionGroupByUser `locationName:"permissionGroups" 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 ListPermissionGroupsByUserOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListPermissionGroupsByUserOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPermissionGroupsByUserOutput) SetNextToken(v string) *ListPermissionGroupsByUserOutput { + s.NextToken = &v + return s +} + +// SetPermissionGroups sets the PermissionGroups field's value. +func (s *ListPermissionGroupsByUserOutput) SetPermissionGroups(v []*PermissionGroupByUser) *ListPermissionGroupsByUserOutput { + s.PermissionGroups = v + return s +} + +type ListPermissionGroupsInput struct { _ struct{} `type:"structure" nopayload:"true"` // The maximum number of results per page. - MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + // + // MaxResults is a required field + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer" required:"true"` // A token that indicates where a results page should begin. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` @@ -6240,7 +7214,7 @@ type ListDatasetsInput 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 ListDatasetsInput) String() string { +func (s ListPermissionGroupsInput) String() string { return awsutil.Prettify(s) } @@ -6249,13 +7223,16 @@ func (s ListDatasetsInput) 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 ListDatasetsInput) GoString() string { +func (s ListPermissionGroupsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListDatasetsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListDatasetsInput"} +func (s *ListPermissionGroupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListPermissionGroupsInput"} + if s.MaxResults == nil { + invalidParams.Add(request.NewErrParamRequired("MaxResults")) + } if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } @@ -6267,26 +7244,25 @@ func (s *ListDatasetsInput) Validate() error { } // SetMaxResults sets the MaxResults field's value. -func (s *ListDatasetsInput) SetMaxResults(v int64) *ListDatasetsInput { +func (s *ListPermissionGroupsInput) SetMaxResults(v int64) *ListPermissionGroupsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListDatasetsInput) SetNextToken(v string) *ListDatasetsInput { +func (s *ListPermissionGroupsInput) SetNextToken(v string) *ListPermissionGroupsInput { s.NextToken = &v return s } -// Response for the ListDatasets operation -type ListDatasetsOutput struct { +type ListPermissionGroupsOutput struct { _ struct{} `type:"structure"` - // List of Datasets. - Datasets []*Dataset `locationName:"datasets" type:"list"` - // A token that indicates where a results page should begin. NextToken *string `locationName:"nextToken" type:"string"` + + // A list of all the permission groups. + PermissionGroups []*PermissionGroup `locationName:"permissionGroups" type:"list"` } // String returns the string representation. @@ -6294,7 +7270,7 @@ type ListDatasetsOutput 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 ListDatasetsOutput) String() string { +func (s ListPermissionGroupsOutput) String() string { return awsutil.Prettify(s) } @@ -6303,23 +7279,23 @@ func (s ListDatasetsOutput) 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 ListDatasetsOutput) GoString() string { +func (s ListPermissionGroupsOutput) GoString() string { return s.String() } -// SetDatasets sets the Datasets field's value. -func (s *ListDatasetsOutput) SetDatasets(v []*Dataset) *ListDatasetsOutput { - s.Datasets = v +// SetNextToken sets the NextToken field's value. +func (s *ListPermissionGroupsOutput) SetNextToken(v string) *ListPermissionGroupsOutput { + s.NextToken = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListDatasetsOutput) SetNextToken(v string) *ListDatasetsOutput { - s.NextToken = &v +// SetPermissionGroups sets the PermissionGroups field's value. +func (s *ListPermissionGroupsOutput) SetPermissionGroups(v []*PermissionGroup) *ListPermissionGroupsOutput { + s.PermissionGroups = v return s } -type ListPermissionGroupsInput struct { +type ListUsersByPermissionGroupInput struct { _ struct{} `type:"structure" nopayload:"true"` // The maximum number of results per page. @@ -6329,6 +7305,11 @@ type ListPermissionGroupsInput struct { // A token that indicates where a results page should begin. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // The unique identifier for the permission group. + // + // PermissionGroupId is a required field + PermissionGroupId *string `location:"uri" locationName:"permissionGroupId" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -6336,7 +7317,7 @@ type ListPermissionGroupsInput 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 ListPermissionGroupsInput) String() string { +func (s ListUsersByPermissionGroupInput) String() string { return awsutil.Prettify(s) } @@ -6345,19 +7326,25 @@ func (s ListPermissionGroupsInput) 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 ListPermissionGroupsInput) GoString() string { +func (s ListUsersByPermissionGroupInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListPermissionGroupsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListPermissionGroupsInput"} +func (s *ListUsersByPermissionGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListUsersByPermissionGroupInput"} if s.MaxResults == nil { invalidParams.Add(request.NewErrParamRequired("MaxResults")) } if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } + if s.PermissionGroupId == nil { + invalidParams.Add(request.NewErrParamRequired("PermissionGroupId")) + } + if s.PermissionGroupId != nil && len(*s.PermissionGroupId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PermissionGroupId", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -6366,25 +7353,31 @@ func (s *ListPermissionGroupsInput) Validate() error { } // SetMaxResults sets the MaxResults field's value. -func (s *ListPermissionGroupsInput) SetMaxResults(v int64) *ListPermissionGroupsInput { +func (s *ListUsersByPermissionGroupInput) SetMaxResults(v int64) *ListUsersByPermissionGroupInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListPermissionGroupsInput) SetNextToken(v string) *ListPermissionGroupsInput { +func (s *ListUsersByPermissionGroupInput) SetNextToken(v string) *ListUsersByPermissionGroupInput { s.NextToken = &v return s } -type ListPermissionGroupsOutput struct { +// SetPermissionGroupId sets the PermissionGroupId field's value. +func (s *ListUsersByPermissionGroupInput) SetPermissionGroupId(v string) *ListUsersByPermissionGroupInput { + s.PermissionGroupId = &v + return s +} + +type ListUsersByPermissionGroupOutput struct { _ struct{} `type:"structure"` // A token that indicates where a results page should begin. NextToken *string `locationName:"nextToken" type:"string"` - // A list of all the permission groups. - PermissionGroups []*PermissionGroup `locationName:"permissionGroups" type:"list"` + // Lists details of all users in a specific permission group. + Users []*UserByPermissionGroup `locationName:"users" type:"list"` } // String returns the string representation. @@ -6392,7 +7385,7 @@ type ListPermissionGroupsOutput 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 ListPermissionGroupsOutput) String() string { +func (s ListUsersByPermissionGroupOutput) String() string { return awsutil.Prettify(s) } @@ -6401,19 +7394,19 @@ func (s ListPermissionGroupsOutput) 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 ListPermissionGroupsOutput) GoString() string { +func (s ListUsersByPermissionGroupOutput) GoString() string { return s.String() } // SetNextToken sets the NextToken field's value. -func (s *ListPermissionGroupsOutput) SetNextToken(v string) *ListPermissionGroupsOutput { +func (s *ListUsersByPermissionGroupOutput) SetNextToken(v string) *ListUsersByPermissionGroupOutput { s.NextToken = &v return s } -// SetPermissionGroups sets the PermissionGroups field's value. -func (s *ListPermissionGroupsOutput) SetPermissionGroups(v []*PermissionGroup) *ListPermissionGroupsOutput { - s.PermissionGroups = v +// SetUsers sets the Users field's value. +func (s *ListUsersByPermissionGroupOutput) SetUsers(v []*UserByPermissionGroup) *ListUsersByPermissionGroupOutput { + s.Users = v return s } @@ -6554,6 +7547,18 @@ type PermissionGroup struct { // as epoch time in milliseconds. LastModifiedTime *int64 `locationName:"lastModifiedTime" type:"long"` + // Indicates the status of the user account within a permission group. + // + // * ADDITION_IN_PROGRESS – The user account is currently being added to + // the permission group. + // + // * ADDITION_SUCCESS – The user account is successfully added to the permission + // group. + // + // * REMOVAL_IN_PROGRESS – The user is currently being removed from the + // permission group. + MembershipStatus *string `locationName:"membershipStatus" type:"string" enum:"PermissionGroupMembershipStatus"` + // The name of the permission group. // // Name is a sensitive parameter and its value will be @@ -6607,6 +7612,12 @@ func (s *PermissionGroup) SetLastModifiedTime(v int64) *PermissionGroup { return s } +// SetMembershipStatus sets the MembershipStatus field's value. +func (s *PermissionGroup) SetMembershipStatus(v string) *PermissionGroup { + s.MembershipStatus = &v + return s +} + // SetName sets the Name field's value. func (s *PermissionGroup) SetName(v string) *PermissionGroup { s.Name = &v @@ -6619,6 +7630,69 @@ func (s *PermissionGroup) SetPermissionGroupId(v string) *PermissionGroup { return s } +// The structure of a permission group associated with a user account. +type PermissionGroupByUser struct { + _ struct{} `type:"structure"` + + // Indicates the status of the user account within a permission group. + // + // * ADDITION_IN_PROGRESS – The user account is currently being added to + // the permission group. + // + // * ADDITION_SUCCESS – The user account is successfully added to the permission + // group. + // + // * REMOVAL_IN_PROGRESS – The user is currently being removed from the + // permission group. + MembershipStatus *string `locationName:"membershipStatus" type:"string" enum:"PermissionGroupMembershipStatus"` + + // The name of the permission group. + // + // Name is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by PermissionGroupByUser's + // String and GoString methods. + Name *string `locationName:"name" min:"1" type:"string" sensitive:"true"` + + // The unique identifier for the permission group. + PermissionGroupId *string `locationName:"permissionGroupId" 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 PermissionGroupByUser) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PermissionGroupByUser) GoString() string { + return s.String() +} + +// SetMembershipStatus sets the MembershipStatus field's value. +func (s *PermissionGroupByUser) SetMembershipStatus(v string) *PermissionGroupByUser { + s.MembershipStatus = &v + return s +} + +// SetName sets the Name field's value. +func (s *PermissionGroupByUser) SetName(v string) *PermissionGroupByUser { + s.Name = &v + return s +} + +// SetPermissionGroupId sets the PermissionGroupId field's value. +func (s *PermissionGroupByUser) SetPermissionGroupId(v string) *PermissionGroupByUser { + s.PermissionGroupId = &v + return s +} + // Permission group parameters for Dataset permissions. // // Here is an example of how you could specify the PermissionGroupParams: @@ -7264,7 +8338,7 @@ type UpdateDatasetInput struct { ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` // A description for the Dataset. - DatasetDescription *string `locationName:"datasetDescription" min:"1" type:"string"` + DatasetDescription *string `locationName:"datasetDescription" type:"string"` // The unique identifier for the Dataset to update. // @@ -7316,9 +8390,6 @@ func (s *UpdateDatasetInput) Validate() error { if s.ClientToken != nil && len(*s.ClientToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) } - if s.DatasetDescription != nil && len(*s.DatasetDescription) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DatasetDescription", 1)) - } if s.DatasetId == nil { invalidParams.Add(request.NewErrParamRequired("DatasetId")) } @@ -7605,7 +8676,7 @@ type UpdateUserInput struct { // in FinSpace. // // * APP_USER – A user with specific permissions in FinSpace. The users - // are assigned permissions by adding them to a permissions group. + // are assigned permissions by adding them to a permission group. Type *string `locationName:"type" type:"string" enum:"UserType"` // The unique identifier for the user account to update. @@ -7808,7 +8879,7 @@ type User struct { // in FinSpace. // // * APP_USER – A user with specific permissions in FinSpace. The users - // are assigned permissions by adding them to a permissions group. + // are assigned permissions by adding them to a permission group. Type *string `locationName:"type" type:"string" enum:"UserType"` // The unique identifier for the user. @@ -7911,6 +8982,148 @@ func (s *User) SetUserId(v string) *User { return s } +// The structure of a user account associated with a permission group. +type UserByPermissionGroup struct { + _ struct{} `type:"structure"` + + // Indicates whether the user can access FinSpace API operations. + // + // * ENABLED – The user has permissions to use the API operations. + // + // * DISABLED – The user does not have permissions to use any API operations. + ApiAccess *string `locationName:"apiAccess" type:"string" enum:"ApiAccess"` + + // The IAM ARN identifier that is attached to FinSpace API calls. + ApiAccessPrincipalArn *string `locationName:"apiAccessPrincipalArn" min:"20" type:"string"` + + // The email address of the user. The email address serves as a unique identifier + // for each user and cannot be changed after it's created. + // + // EmailAddress is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by UserByPermissionGroup's + // String and GoString methods. + EmailAddress *string `locationName:"emailAddress" min:"4" type:"string" sensitive:"true"` + + // The first name of the user. + // + // FirstName is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by UserByPermissionGroup's + // String and GoString methods. + FirstName *string `locationName:"firstName" min:"1" type:"string" sensitive:"true"` + + // The last name of the user. + // + // LastName is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by UserByPermissionGroup's + // String and GoString methods. + LastName *string `locationName:"lastName" min:"1" type:"string" sensitive:"true"` + + // Indicates the status of the user account within a permission group. + // + // * ADDITION_IN_PROGRESS – The user account is currently being added to + // the permission group. + // + // * ADDITION_SUCCESS – The user account is successfully added to the permission + // group. + // + // * REMOVAL_IN_PROGRESS – The user is currently being removed from the + // permission group. + MembershipStatus *string `locationName:"membershipStatus" type:"string" enum:"PermissionGroupMembershipStatus"` + + // The current status of the user account. + // + // * CREATING – The user account creation is in progress. + // + // * ENABLED – The user account is created and is currently active. + // + // * DISABLED – The user account is currently inactive. + Status *string `locationName:"status" type:"string" enum:"UserStatus"` + + // Indicates the type of user. + // + // * SUPER_USER – A user with permission to all the functionality and data + // in FinSpace. + // + // * APP_USER – A user with specific permissions in FinSpace. The users + // are assigned permissions by adding them to a permission group. + Type *string `locationName:"type" type:"string" enum:"UserType"` + + // The unique identifier for the user. + UserId *string `locationName:"userId" 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 UserByPermissionGroup) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UserByPermissionGroup) GoString() string { + return s.String() +} + +// SetApiAccess sets the ApiAccess field's value. +func (s *UserByPermissionGroup) SetApiAccess(v string) *UserByPermissionGroup { + s.ApiAccess = &v + return s +} + +// SetApiAccessPrincipalArn sets the ApiAccessPrincipalArn field's value. +func (s *UserByPermissionGroup) SetApiAccessPrincipalArn(v string) *UserByPermissionGroup { + s.ApiAccessPrincipalArn = &v + return s +} + +// SetEmailAddress sets the EmailAddress field's value. +func (s *UserByPermissionGroup) SetEmailAddress(v string) *UserByPermissionGroup { + s.EmailAddress = &v + return s +} + +// SetFirstName sets the FirstName field's value. +func (s *UserByPermissionGroup) SetFirstName(v string) *UserByPermissionGroup { + s.FirstName = &v + return s +} + +// SetLastName sets the LastName field's value. +func (s *UserByPermissionGroup) SetLastName(v string) *UserByPermissionGroup { + s.LastName = &v + return s +} + +// SetMembershipStatus sets the MembershipStatus field's value. +func (s *UserByPermissionGroup) SetMembershipStatus(v string) *UserByPermissionGroup { + s.MembershipStatus = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *UserByPermissionGroup) SetStatus(v string) *UserByPermissionGroup { + s.Status = &v + return s +} + +// SetType sets the Type field's value. +func (s *UserByPermissionGroup) SetType(v string) *UserByPermissionGroup { + s.Type = &v + return s +} + +// SetUserId sets the UserId field's value. +func (s *UserByPermissionGroup) SetUserId(v string) *UserByPermissionGroup { + s.UserId = &v + return s +} + // The input fails to satisfy the constraints specified by an AWS service. type ValidationException struct { _ struct{} `type:"structure"` @@ -8293,6 +9506,26 @@ func LocationType_Values() []string { } } +const ( + // PermissionGroupMembershipStatusAdditionInProgress is a PermissionGroupMembershipStatus enum value + PermissionGroupMembershipStatusAdditionInProgress = "ADDITION_IN_PROGRESS" + + // PermissionGroupMembershipStatusAdditionSuccess is a PermissionGroupMembershipStatus enum value + PermissionGroupMembershipStatusAdditionSuccess = "ADDITION_SUCCESS" + + // PermissionGroupMembershipStatusRemovalInProgress is a PermissionGroupMembershipStatus enum value + PermissionGroupMembershipStatusRemovalInProgress = "REMOVAL_IN_PROGRESS" +) + +// PermissionGroupMembershipStatus_Values returns all elements of the PermissionGroupMembershipStatus enum +func PermissionGroupMembershipStatus_Values() []string { + return []string{ + PermissionGroupMembershipStatusAdditionInProgress, + PermissionGroupMembershipStatusAdditionSuccess, + PermissionGroupMembershipStatusRemovalInProgress, + } +} + const ( // UserStatusCreating is a UserStatus enum value UserStatusCreating = "CREATING" diff --git a/service/finspacedata/finspacedataiface/interface.go b/service/finspacedata/finspacedataiface/interface.go index 26f23e5335..e23a7f3b90 100644 --- a/service/finspacedata/finspacedataiface/interface.go +++ b/service/finspacedata/finspacedataiface/interface.go @@ -26,7 +26,7 @@ import ( // // myFunc uses an SDK service client to make a request to // // FinSpace Public API. // func myFunc(svc finspacedataiface.FinSpaceDataAPI) bool { -// // Make svc.CreateChangeset request +// // Make svc.AssociateUserToPermissionGroup request // } // // func main() { @@ -42,7 +42,7 @@ import ( // type mockFinSpaceDataClient struct { // finspacedataiface.FinSpaceDataAPI // } -// func (m *mockFinSpaceDataClient) CreateChangeset(input *finspacedata.CreateChangesetInput) (*finspacedata.CreateChangesetOutput, error) { +// func (m *mockFinSpaceDataClient) AssociateUserToPermissionGroup(input *finspacedata.AssociateUserToPermissionGroupInput) (*finspacedata.AssociateUserToPermissionGroupOutput, error) { // // mock response/functionality // } // @@ -60,6 +60,10 @@ import ( // and waiters. Its suggested to use the pattern above for testing, or using // tooling to generate mocks to satisfy the interfaces. type FinSpaceDataAPI interface { + AssociateUserToPermissionGroup(*finspacedata.AssociateUserToPermissionGroupInput) (*finspacedata.AssociateUserToPermissionGroupOutput, error) + AssociateUserToPermissionGroupWithContext(aws.Context, *finspacedata.AssociateUserToPermissionGroupInput, ...request.Option) (*finspacedata.AssociateUserToPermissionGroupOutput, error) + AssociateUserToPermissionGroupRequest(*finspacedata.AssociateUserToPermissionGroupInput) (*request.Request, *finspacedata.AssociateUserToPermissionGroupOutput) + CreateChangeset(*finspacedata.CreateChangesetInput) (*finspacedata.CreateChangesetOutput, error) CreateChangesetWithContext(aws.Context, *finspacedata.CreateChangesetInput, ...request.Option) (*finspacedata.CreateChangesetOutput, error) CreateChangesetRequest(*finspacedata.CreateChangesetInput) (*request.Request, *finspacedata.CreateChangesetOutput) @@ -92,6 +96,10 @@ type FinSpaceDataAPI interface { DisableUserWithContext(aws.Context, *finspacedata.DisableUserInput, ...request.Option) (*finspacedata.DisableUserOutput, error) DisableUserRequest(*finspacedata.DisableUserInput) (*request.Request, *finspacedata.DisableUserOutput) + DisassociateUserFromPermissionGroup(*finspacedata.DisassociateUserFromPermissionGroupInput) (*finspacedata.DisassociateUserFromPermissionGroupOutput, error) + DisassociateUserFromPermissionGroupWithContext(aws.Context, *finspacedata.DisassociateUserFromPermissionGroupInput, ...request.Option) (*finspacedata.DisassociateUserFromPermissionGroupOutput, error) + DisassociateUserFromPermissionGroupRequest(*finspacedata.DisassociateUserFromPermissionGroupInput) (*request.Request, *finspacedata.DisassociateUserFromPermissionGroupOutput) + EnableUser(*finspacedata.EnableUserInput) (*finspacedata.EnableUserOutput, error) EnableUserWithContext(aws.Context, *finspacedata.EnableUserInput, ...request.Option) (*finspacedata.EnableUserOutput, error) EnableUserRequest(*finspacedata.EnableUserInput) (*request.Request, *finspacedata.EnableUserOutput) @@ -108,6 +116,10 @@ type FinSpaceDataAPI interface { GetDatasetWithContext(aws.Context, *finspacedata.GetDatasetInput, ...request.Option) (*finspacedata.GetDatasetOutput, error) GetDatasetRequest(*finspacedata.GetDatasetInput) (*request.Request, *finspacedata.GetDatasetOutput) + GetPermissionGroup(*finspacedata.GetPermissionGroupInput) (*finspacedata.GetPermissionGroupOutput, error) + GetPermissionGroupWithContext(aws.Context, *finspacedata.GetPermissionGroupInput, ...request.Option) (*finspacedata.GetPermissionGroupOutput, error) + GetPermissionGroupRequest(*finspacedata.GetPermissionGroupInput) (*request.Request, *finspacedata.GetPermissionGroupOutput) + GetProgrammaticAccessCredentials(*finspacedata.GetProgrammaticAccessCredentialsInput) (*finspacedata.GetProgrammaticAccessCredentialsOutput, error) GetProgrammaticAccessCredentialsWithContext(aws.Context, *finspacedata.GetProgrammaticAccessCredentialsInput, ...request.Option) (*finspacedata.GetProgrammaticAccessCredentialsOutput, error) GetProgrammaticAccessCredentialsRequest(*finspacedata.GetProgrammaticAccessCredentialsInput) (*request.Request, *finspacedata.GetProgrammaticAccessCredentialsOutput) @@ -148,6 +160,10 @@ type FinSpaceDataAPI interface { ListPermissionGroupsPages(*finspacedata.ListPermissionGroupsInput, func(*finspacedata.ListPermissionGroupsOutput, bool) bool) error ListPermissionGroupsPagesWithContext(aws.Context, *finspacedata.ListPermissionGroupsInput, func(*finspacedata.ListPermissionGroupsOutput, bool) bool, ...request.Option) error + ListPermissionGroupsByUser(*finspacedata.ListPermissionGroupsByUserInput) (*finspacedata.ListPermissionGroupsByUserOutput, error) + ListPermissionGroupsByUserWithContext(aws.Context, *finspacedata.ListPermissionGroupsByUserInput, ...request.Option) (*finspacedata.ListPermissionGroupsByUserOutput, error) + ListPermissionGroupsByUserRequest(*finspacedata.ListPermissionGroupsByUserInput) (*request.Request, *finspacedata.ListPermissionGroupsByUserOutput) + ListUsers(*finspacedata.ListUsersInput) (*finspacedata.ListUsersOutput, error) ListUsersWithContext(aws.Context, *finspacedata.ListUsersInput, ...request.Option) (*finspacedata.ListUsersOutput, error) ListUsersRequest(*finspacedata.ListUsersInput) (*request.Request, *finspacedata.ListUsersOutput) @@ -155,6 +171,10 @@ type FinSpaceDataAPI interface { ListUsersPages(*finspacedata.ListUsersInput, func(*finspacedata.ListUsersOutput, bool) bool) error ListUsersPagesWithContext(aws.Context, *finspacedata.ListUsersInput, func(*finspacedata.ListUsersOutput, bool) bool, ...request.Option) error + ListUsersByPermissionGroup(*finspacedata.ListUsersByPermissionGroupInput) (*finspacedata.ListUsersByPermissionGroupOutput, error) + ListUsersByPermissionGroupWithContext(aws.Context, *finspacedata.ListUsersByPermissionGroupInput, ...request.Option) (*finspacedata.ListUsersByPermissionGroupOutput, error) + ListUsersByPermissionGroupRequest(*finspacedata.ListUsersByPermissionGroupInput) (*request.Request, *finspacedata.ListUsersByPermissionGroupOutput) + ResetUserPassword(*finspacedata.ResetUserPasswordInput) (*finspacedata.ResetUserPasswordOutput, error) ResetUserPasswordWithContext(aws.Context, *finspacedata.ResetUserPasswordInput, ...request.Option) (*finspacedata.ResetUserPasswordOutput, error) ResetUserPasswordRequest(*finspacedata.ResetUserPasswordInput) (*request.Request, *finspacedata.ResetUserPasswordOutput) diff --git a/service/guardduty/api.go b/service/guardduty/api.go index 47b68abeaa..67f5dbf1bb 100644 --- a/service/guardduty/api.go +++ b/service/guardduty/api.go @@ -13,6 +13,90 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/restjson" ) +const opAcceptAdministratorInvitation = "AcceptAdministratorInvitation" + +// AcceptAdministratorInvitationRequest generates a "aws/request.Request" representing the +// client's request for the AcceptAdministratorInvitation 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 AcceptAdministratorInvitation for more information on using the AcceptAdministratorInvitation +// 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 AcceptAdministratorInvitationRequest method. +// req, resp := client.AcceptAdministratorInvitationRequest(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/AcceptAdministratorInvitation +func (c *GuardDuty) AcceptAdministratorInvitationRequest(input *AcceptAdministratorInvitationInput) (req *request.Request, output *AcceptAdministratorInvitationOutput) { + op := &request.Operation{ + Name: opAcceptAdministratorInvitation, + HTTPMethod: "POST", + HTTPPath: "/detector/{detectorId}/administrator", + } + + if input == nil { + input = &AcceptAdministratorInvitationInput{} + } + + output = &AcceptAdministratorInvitationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// AcceptAdministratorInvitation API operation for Amazon GuardDuty. +// +// Accepts the invitation to be a member account and get monitored by a GuardDuty +// administrator account that sent the invitation. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type 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 AcceptAdministratorInvitation 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/AcceptAdministratorInvitation +func (c *GuardDuty) AcceptAdministratorInvitation(input *AcceptAdministratorInvitationInput) (*AcceptAdministratorInvitationOutput, error) { + req, out := c.AcceptAdministratorInvitationRequest(input) + return out, req.Send() +} + +// AcceptAdministratorInvitationWithContext is the same as AcceptAdministratorInvitation with the addition of +// the ability to pass a context and additional request options. +// +// See AcceptAdministratorInvitation 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) AcceptAdministratorInvitationWithContext(ctx aws.Context, input *AcceptAdministratorInvitationInput, opts ...request.Option) (*AcceptAdministratorInvitationOutput, error) { + req, out := c.AcceptAdministratorInvitationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opAcceptInvitation = "AcceptInvitation" // AcceptInvitationRequest generates a "aws/request.Request" representing the @@ -39,7 +123,12 @@ const opAcceptInvitation = "AcceptInvitation" // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/AcceptInvitation +// +// Deprecated: This operation is deprecated, use AcceptAdministratorInvitation instead func (c *GuardDuty) AcceptInvitationRequest(input *AcceptInvitationInput) (req *request.Request, output *AcceptInvitationOutput) { + if c.Client.Config.Logger != nil { + c.Client.Config.Logger.Log("This operation, AcceptInvitation, has been deprecated") + } op := &request.Operation{ Name: opAcceptInvitation, HTTPMethod: "POST", @@ -75,6 +164,8 @@ func (c *GuardDuty) AcceptInvitationRequest(input *AcceptInvitationInput) (req * // An internal server error exception object. // // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/AcceptInvitation +// +// Deprecated: This operation is deprecated, use AcceptAdministratorInvitation instead func (c *GuardDuty) AcceptInvitation(input *AcceptInvitationInput) (*AcceptInvitationOutput, error) { req, out := c.AcceptInvitationRequest(input) return out, req.Send() @@ -89,6 +180,8 @@ func (c *GuardDuty) AcceptInvitation(input *AcceptInvitationInput) (*AcceptInvit // 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. +// +// Deprecated: This operation is deprecated, use AcceptAdministratorInvitation instead func (c *GuardDuty) AcceptInvitationWithContext(ctx aws.Context, input *AcceptInvitationInput, opts ...request.Option) (*AcceptInvitationOutput, error) { req, out := c.AcceptInvitationRequest(input) req.SetContext(ctx) @@ -1697,6 +1790,90 @@ func (c *GuardDuty) DisableOrganizationAdminAccountWithContext(ctx aws.Context, return out, req.Send() } +const opDisassociateFromAdministratorAccount = "DisassociateFromAdministratorAccount" + +// DisassociateFromAdministratorAccountRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateFromAdministratorAccount 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 DisassociateFromAdministratorAccount for more information on using the DisassociateFromAdministratorAccount +// 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 DisassociateFromAdministratorAccountRequest method. +// req, resp := client.DisassociateFromAdministratorAccountRequest(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/DisassociateFromAdministratorAccount +func (c *GuardDuty) DisassociateFromAdministratorAccountRequest(input *DisassociateFromAdministratorAccountInput) (req *request.Request, output *DisassociateFromAdministratorAccountOutput) { + op := &request.Operation{ + Name: opDisassociateFromAdministratorAccount, + HTTPMethod: "POST", + HTTPPath: "/detector/{detectorId}/administrator/disassociate", + } + + if input == nil { + input = &DisassociateFromAdministratorAccountInput{} + } + + output = &DisassociateFromAdministratorAccountOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DisassociateFromAdministratorAccount API operation for Amazon GuardDuty. +// +// Disassociates the current GuardDuty member account from its 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 +// the error. +// +// See the AWS API reference guide for Amazon GuardDuty's +// API operation DisassociateFromAdministratorAccount 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/DisassociateFromAdministratorAccount +func (c *GuardDuty) DisassociateFromAdministratorAccount(input *DisassociateFromAdministratorAccountInput) (*DisassociateFromAdministratorAccountOutput, error) { + req, out := c.DisassociateFromAdministratorAccountRequest(input) + return out, req.Send() +} + +// DisassociateFromAdministratorAccountWithContext is the same as DisassociateFromAdministratorAccount with the addition of +// the ability to pass a context and additional request options. +// +// See DisassociateFromAdministratorAccount 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) DisassociateFromAdministratorAccountWithContext(ctx aws.Context, input *DisassociateFromAdministratorAccountInput, opts ...request.Option) (*DisassociateFromAdministratorAccountOutput, error) { + req, out := c.DisassociateFromAdministratorAccountRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDisassociateFromMasterAccount = "DisassociateFromMasterAccount" // DisassociateFromMasterAccountRequest generates a "aws/request.Request" representing the @@ -1723,7 +1900,12 @@ const opDisassociateFromMasterAccount = "DisassociateFromMasterAccount" // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DisassociateFromMasterAccount +// +// Deprecated: This operation is deprecated, use DisassociateFromAdministratorAccount instead func (c *GuardDuty) DisassociateFromMasterAccountRequest(input *DisassociateFromMasterAccountInput) (req *request.Request, output *DisassociateFromMasterAccountOutput) { + if c.Client.Config.Logger != nil { + c.Client.Config.Logger.Log("This operation, DisassociateFromMasterAccount, has been deprecated") + } op := &request.Operation{ Name: opDisassociateFromMasterAccount, HTTPMethod: "POST", @@ -1760,6 +1942,8 @@ func (c *GuardDuty) DisassociateFromMasterAccountRequest(input *DisassociateFrom // An internal server error exception object. // // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DisassociateFromMasterAccount +// +// Deprecated: This operation is deprecated, use DisassociateFromAdministratorAccount instead func (c *GuardDuty) DisassociateFromMasterAccount(input *DisassociateFromMasterAccountInput) (*DisassociateFromMasterAccountOutput, error) { req, out := c.DisassociateFromMasterAccountRequest(input) return out, req.Send() @@ -1774,6 +1958,8 @@ func (c *GuardDuty) DisassociateFromMasterAccount(input *DisassociateFromMasterA // 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. +// +// Deprecated: This operation is deprecated, use DisassociateFromAdministratorAccount instead func (c *GuardDuty) DisassociateFromMasterAccountWithContext(ctx aws.Context, input *DisassociateFromMasterAccountInput, opts ...request.Option) (*DisassociateFromMasterAccountOutput, error) { req, out := c.DisassociateFromMasterAccountRequest(input) req.SetContext(ctx) @@ -1826,10 +2012,7 @@ func (c *GuardDuty) DisassociateMembersRequest(input *DisassociateMembersInput) // DisassociateMembers API operation for Amazon GuardDuty. // // Disassociates GuardDuty member accounts (to the current GuardDuty administrator -// account) specified by the account IDs. Member accounts added through Invitation -// (https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_invitations.html) -// get deleted from the current GuardDuty administrator account after 30 days -// of disassociation. +// account) specified by the account IDs. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1951,6 +2134,89 @@ func (c *GuardDuty) EnableOrganizationAdminAccountWithContext(ctx aws.Context, i return out, req.Send() } +const opGetAdministratorAccount = "GetAdministratorAccount" + +// GetAdministratorAccountRequest generates a "aws/request.Request" representing the +// client's request for the GetAdministratorAccount 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 GetAdministratorAccount for more information on using the GetAdministratorAccount +// 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 GetAdministratorAccountRequest method. +// req, resp := client.GetAdministratorAccountRequest(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/GetAdministratorAccount +func (c *GuardDuty) GetAdministratorAccountRequest(input *GetAdministratorAccountInput) (req *request.Request, output *GetAdministratorAccountOutput) { + op := &request.Operation{ + Name: opGetAdministratorAccount, + HTTPMethod: "GET", + HTTPPath: "/detector/{detectorId}/administrator", + } + + if input == nil { + input = &GetAdministratorAccountInput{} + } + + output = &GetAdministratorAccountOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetAdministratorAccount API operation for Amazon GuardDuty. +// +// Provides the details for the GuardDuty administrator account associated with +// the current GuardDuty member 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 GuardDuty's +// API operation GetAdministratorAccount 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/GetAdministratorAccount +func (c *GuardDuty) GetAdministratorAccount(input *GetAdministratorAccountInput) (*GetAdministratorAccountOutput, error) { + req, out := c.GetAdministratorAccountRequest(input) + return out, req.Send() +} + +// GetAdministratorAccountWithContext is the same as GetAdministratorAccount with the addition of +// the ability to pass a context and additional request options. +// +// See GetAdministratorAccount 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) GetAdministratorAccountWithContext(ctx aws.Context, input *GetAdministratorAccountInput, opts ...request.Option) (*GetAdministratorAccountOutput, error) { + req, out := c.GetAdministratorAccountRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetDetector = "GetDetector" // GetDetectorRequest generates a "aws/request.Request" representing the @@ -2470,7 +2736,12 @@ const opGetMasterAccount = "GetMasterAccount" // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetMasterAccount +// +// Deprecated: This operation is deprecated, use GetAdministratorAccount instead func (c *GuardDuty) GetMasterAccountRequest(input *GetMasterAccountInput) (req *request.Request, output *GetMasterAccountOutput) { + if c.Client.Config.Logger != nil { + c.Client.Config.Logger.Log("This operation, GetMasterAccount, has been deprecated") + } op := &request.Operation{ Name: opGetMasterAccount, HTTPMethod: "GET", @@ -2506,6 +2777,8 @@ func (c *GuardDuty) GetMasterAccountRequest(input *GetMasterAccountInput) (req * // An internal server error exception object. // // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetMasterAccount +// +// Deprecated: This operation is deprecated, use GetAdministratorAccount instead func (c *GuardDuty) GetMasterAccount(input *GetMasterAccountInput) (*GetMasterAccountOutput, error) { req, out := c.GetMasterAccountRequest(input) return out, req.Send() @@ -2520,6 +2793,8 @@ func (c *GuardDuty) GetMasterAccount(input *GetMasterAccountInput) (*GetMasterAc // 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. +// +// Deprecated: This operation is deprecated, use GetAdministratorAccount instead func (c *GuardDuty) GetMasterAccountWithContext(ctx aws.Context, input *GetMasterAccountInput, opts ...request.Option) (*GetMasterAccountOutput, error) { req, out := c.GetMasterAccountRequest(input) req.SetContext(ctx) @@ -2692,6 +2967,89 @@ func (c *GuardDuty) GetMembersWithContext(ctx aws.Context, input *GetMembersInpu return out, req.Send() } +const opGetRemainingFreeTrialDays = "GetRemainingFreeTrialDays" + +// GetRemainingFreeTrialDaysRequest generates a "aws/request.Request" representing the +// client's request for the GetRemainingFreeTrialDays 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 GetRemainingFreeTrialDays for more information on using the GetRemainingFreeTrialDays +// 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 GetRemainingFreeTrialDaysRequest method. +// req, resp := client.GetRemainingFreeTrialDaysRequest(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/GetRemainingFreeTrialDays +func (c *GuardDuty) GetRemainingFreeTrialDaysRequest(input *GetRemainingFreeTrialDaysInput) (req *request.Request, output *GetRemainingFreeTrialDaysOutput) { + op := &request.Operation{ + Name: opGetRemainingFreeTrialDays, + HTTPMethod: "POST", + HTTPPath: "/detector/{detectorId}/freeTrial/daysRemaining", + } + + if input == nil { + input = &GetRemainingFreeTrialDaysInput{} + } + + output = &GetRemainingFreeTrialDaysOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetRemainingFreeTrialDays API operation for Amazon GuardDuty. +// +// Provides the number of days left for each data source used in the free trial +// period. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GuardDuty's +// API operation GetRemainingFreeTrialDays 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/GetRemainingFreeTrialDays +func (c *GuardDuty) GetRemainingFreeTrialDays(input *GetRemainingFreeTrialDaysInput) (*GetRemainingFreeTrialDaysOutput, error) { + req, out := c.GetRemainingFreeTrialDaysRequest(input) + return out, req.Send() +} + +// GetRemainingFreeTrialDaysWithContext is the same as GetRemainingFreeTrialDays with the addition of +// the ability to pass a context and additional request options. +// +// See GetRemainingFreeTrialDays 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) GetRemainingFreeTrialDaysWithContext(ctx aws.Context, input *GetRemainingFreeTrialDaysInput, opts ...request.Option) (*GetRemainingFreeTrialDaysOutput, error) { + req, out := c.GetRemainingFreeTrialDaysRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetThreatIntelSet = "GetThreatIntelSet" // GetThreatIntelSetRequest generates a "aws/request.Request" representing the @@ -2825,10 +3183,10 @@ func (c *GuardDuty) GetUsageStatisticsRequest(input *GetUsageStatisticsInput) (r // GetUsageStatistics API operation for Amazon GuardDuty. // // Lists Amazon GuardDuty usage statistics over the last 30 days for the specified -// detector ID. For newly enabled detectors or data sources the cost returned -// will include only the usage so far under 30 days, this may differ from the -// cost metrics in the console, which projects usage over 30 days to provide -// a monthly cost estimate. For more information see Understanding How Usage +// detector ID. For newly enabled detectors or data sources, the cost returned +// will include only the usage so far under 30 days. This may differ from the +// cost metrics in the console, which project usage over 30 days to provide +// a monthly cost estimate. For more information, see Understanding How Usage // Costs are Calculated (https://docs.aws.amazon.com/guardduty/latest/ug/monitoring_costs.html#usage-calculations). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -5417,24 +5775,126 @@ func (c *GuardDuty) UpdateThreatIntelSet(input *UpdateThreatIntelSetInput) (*Upd return out, req.Send() } -// UpdateThreatIntelSetWithContext is the same as UpdateThreatIntelSet with the addition of -// the ability to pass a context and additional request options. +// UpdateThreatIntelSetWithContext is the same as UpdateThreatIntelSet with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateThreatIntelSet 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) UpdateThreatIntelSetWithContext(ctx aws.Context, input *UpdateThreatIntelSetInput, opts ...request.Option) (*UpdateThreatIntelSetOutput, error) { + req, out := c.UpdateThreatIntelSetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +type AcceptAdministratorInvitationInput struct { + _ struct{} `type:"structure"` + + // The account ID of the GuardDuty administrator account whose invitation you're + // accepting. + // + // AdministratorId is a required field + AdministratorId *string `locationName:"administratorId" type:"string" required:"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"` + + // The value that is used to validate the administrator account to the member + // account. + // + // InvitationId is a required field + InvitationId *string `locationName:"invitationId" 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 AcceptAdministratorInvitationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AcceptAdministratorInvitationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AcceptAdministratorInvitationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AcceptAdministratorInvitationInput"} + if s.AdministratorId == nil { + invalidParams.Add(request.NewErrParamRequired("AdministratorId")) + } + 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.InvitationId == nil { + invalidParams.Add(request.NewErrParamRequired("InvitationId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAdministratorId sets the AdministratorId field's value. +func (s *AcceptAdministratorInvitationInput) SetAdministratorId(v string) *AcceptAdministratorInvitationInput { + s.AdministratorId = &v + return s +} + +// SetDetectorId sets the DetectorId field's value. +func (s *AcceptAdministratorInvitationInput) SetDetectorId(v string) *AcceptAdministratorInvitationInput { + s.DetectorId = &v + return s +} + +// SetInvitationId sets the InvitationId field's value. +func (s *AcceptAdministratorInvitationInput) SetInvitationId(v string) *AcceptAdministratorInvitationInput { + s.InvitationId = &v + return s +} + +type AcceptAdministratorInvitationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. // -// See UpdateThreatIntelSet for details on how to use this API operation. +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AcceptAdministratorInvitationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. // -// 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) UpdateThreatIntelSetWithContext(ctx aws.Context, input *UpdateThreatIntelSetInput, opts ...request.Option) (*UpdateThreatIntelSetOutput, error) { - req, out := c.UpdateThreatIntelSetRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AcceptAdministratorInvitationOutput) GoString() string { + return s.String() } +// Deprecated: This input is deprecated, use AcceptAdministratorInvitationRequest instead type AcceptInvitationInput struct { - _ struct{} `type:"structure"` + _ struct{} `deprecated:"true" type:"structure"` // The unique ID of the detector of the GuardDuty member account. // @@ -5512,8 +5972,9 @@ func (s *AcceptInvitationInput) SetMasterId(v string) *AcceptInvitationInput { return s } +// Deprecated: This output is deprecated, use AcceptAdministratorInvitationResponse instead type AcceptInvitationOutput struct { - _ struct{} `type:"structure"` + _ struct{} `deprecated:"true" type:"structure"` } // String returns the string representation. @@ -5703,6 +6164,47 @@ func (s *AccountDetail) SetEmail(v string) *AccountDetail { return s } +// Provides details of the GuardDuty member account that uses a free trial service. +type AccountFreeTrialInfo struct { + _ struct{} `type:"structure"` + + // The account identifier of the GuardDuty member account. + AccountId *string `locationName:"accountId" type:"string"` + + // Describes the data source enabled for the GuardDuty member account. + DataSources *DataSourcesFreeTrial `locationName:"dataSources" 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 AccountFreeTrialInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccountFreeTrialInfo) GoString() string { + return s.String() +} + +// SetAccountId sets the AccountId field's value. +func (s *AccountFreeTrialInfo) SetAccountId(v string) *AccountFreeTrialInfo { + s.AccountId = &v + return s +} + +// SetDataSources sets the DataSources field's value. +func (s *AccountFreeTrialInfo) SetDataSources(v *DataSourcesFreeTrial) *AccountFreeTrialInfo { + s.DataSources = v + return s +} + // Contains information about the account level permissions on the S3 bucket. type AccountLevelPermissions struct { _ struct{} `type:"structure"` @@ -5854,6 +6356,66 @@ func (s *AdminAccount) SetAdminStatus(v string) *AdminAccount { return s } +// Contains information about the administrator account and invitation. +type Administrator struct { + _ struct{} `type:"structure"` + + // The ID of the account used as the administrator account. + AccountId *string `locationName:"accountId" min:"12" type:"string"` + + // The value that is 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 Administrator) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Administrator) GoString() string { + return s.String() +} + +// SetAccountId sets the AccountId field's value. +func (s *Administrator) SetAccountId(v string) *Administrator { + s.AccountId = &v + return s +} + +// SetInvitationId sets the InvitationId field's value. +func (s *Administrator) SetInvitationId(v string) *Administrator { + s.InvitationId = &v + return s +} + +// SetInvitedAt sets the InvitedAt field's value. +func (s *Administrator) SetInvitedAt(v string) *Administrator { + s.InvitedAt = &v + return s +} + +// SetRelationshipStatus sets the RelationshipStatus field's value. +func (s *Administrator) SetRelationshipStatus(v string) *Administrator { + s.RelationshipStatus = &v + return s +} + type ArchiveFindingsInput struct { _ struct{} `type:"structure"` @@ -5944,6 +6506,10 @@ func (s ArchiveFindingsOutput) GoString() string { type AwsApiCallAction struct { _ struct{} `type:"structure"` + // The details of the Amazon Web Services account that made the API call. This + // field identifies the resources that were affected by this API call. + AffectedResources map[string]*string `locationName:"affectedResources" type:"map"` + // The Amazon Web Services API name. Api *string `locationName:"api" type:"string"` @@ -5989,6 +6555,12 @@ func (s AwsApiCallAction) GoString() string { return s.String() } +// SetAffectedResources sets the AffectedResources field's value. +func (s *AwsApiCallAction) SetAffectedResources(v map[string]*string) *AwsApiCallAction { + s.AffectedResources = v + return s +} + // SetApi sets the Api field's value. func (s *AwsApiCallAction) SetApi(v string) *AwsApiCallAction { s.Api = &v @@ -7858,6 +8430,109 @@ func (s *DataSourceConfigurationsResult) SetS3Logs(v *S3LogsConfigurationResult) return s } +// Contains information about which data sources are enabled for the GuardDuty +// member account. +type DataSourceFreeTrial struct { + _ struct{} `type:"structure"` + + // A value that specifies the number of days left to use each enabled data source. + FreeTrialDaysRemaining *int64 `locationName:"freeTrialDaysRemaining" 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 DataSourceFreeTrial) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataSourceFreeTrial) GoString() string { + return s.String() +} + +// SetFreeTrialDaysRemaining sets the FreeTrialDaysRemaining field's value. +func (s *DataSourceFreeTrial) SetFreeTrialDaysRemaining(v int64) *DataSourceFreeTrial { + s.FreeTrialDaysRemaining = &v + return s +} + +// Contains information about which data sources are enabled for the GuardDuty +// member account. +type DataSourcesFreeTrial struct { + _ struct{} `type:"structure"` + + // Describes whether any AWS CloudTrail management event logs are enabled as + // data sources. + CloudTrail *DataSourceFreeTrial `locationName:"cloudTrail" type:"structure"` + + // Describes whether any DNS logs are enabled as data sources. + DnsLogs *DataSourceFreeTrial `locationName:"dnsLogs" type:"structure"` + + // Describes whether any VPC Flow logs are enabled as data sources. + FlowLogs *DataSourceFreeTrial `locationName:"flowLogs" type:"structure"` + + // Describes whether any Kubernetes logs are enabled as data sources. + Kubernetes *KubernetesDataSourceFreeTrial `locationName:"kubernetes" type:"structure"` + + // Describes whether any S3 data event logs are enabled as data sources. + S3Logs *DataSourceFreeTrial `locationName:"s3Logs" 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 DataSourcesFreeTrial) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataSourcesFreeTrial) GoString() string { + return s.String() +} + +// SetCloudTrail sets the CloudTrail field's value. +func (s *DataSourcesFreeTrial) SetCloudTrail(v *DataSourceFreeTrial) *DataSourcesFreeTrial { + s.CloudTrail = v + return s +} + +// SetDnsLogs sets the DnsLogs field's value. +func (s *DataSourcesFreeTrial) SetDnsLogs(v *DataSourceFreeTrial) *DataSourcesFreeTrial { + s.DnsLogs = v + return s +} + +// SetFlowLogs sets the FlowLogs field's value. +func (s *DataSourcesFreeTrial) SetFlowLogs(v *DataSourceFreeTrial) *DataSourcesFreeTrial { + s.FlowLogs = v + return s +} + +// SetKubernetes sets the Kubernetes field's value. +func (s *DataSourcesFreeTrial) SetKubernetes(v *KubernetesDataSourceFreeTrial) *DataSourcesFreeTrial { + s.Kubernetes = v + return s +} + +// SetS3Logs sets the S3Logs field's value. +func (s *DataSourcesFreeTrial) SetS3Logs(v *DataSourceFreeTrial) *DataSourcesFreeTrial { + s.S3Logs = v + return s +} + type DeclineInvitationsInput struct { _ struct{} `type:"structure"` @@ -8963,7 +9638,75 @@ type DisableOrganizationAdminAccountInput 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 DisableOrganizationAdminAccountInput) String() string { +func (s DisableOrganizationAdminAccountInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisableOrganizationAdminAccountInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisableOrganizationAdminAccountInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisableOrganizationAdminAccountInput"} + 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 *DisableOrganizationAdminAccountInput) SetAdminAccountId(v string) *DisableOrganizationAdminAccountInput { + s.AdminAccountId = &v + return s +} + +type DisableOrganizationAdminAccountOutput 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 DisableOrganizationAdminAccountOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisableOrganizationAdminAccountOutput) GoString() string { + return s.String() +} + +type DisassociateFromAdministratorAccountInput 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"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisassociateFromAdministratorAccountInput) String() string { return awsutil.Prettify(s) } @@ -8972,15 +9715,18 @@ func (s DisableOrganizationAdminAccountInput) 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 DisableOrganizationAdminAccountInput) GoString() string { +func (s DisassociateFromAdministratorAccountInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DisableOrganizationAdminAccountInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DisableOrganizationAdminAccountInput"} - if s.AdminAccountId == nil { - invalidParams.Add(request.NewErrParamRequired("AdminAccountId")) +func (s *DisassociateFromAdministratorAccountInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateFromAdministratorAccountInput"} + 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 { @@ -8989,13 +9735,13 @@ func (s *DisableOrganizationAdminAccountInput) Validate() error { return nil } -// SetAdminAccountId sets the AdminAccountId field's value. -func (s *DisableOrganizationAdminAccountInput) SetAdminAccountId(v string) *DisableOrganizationAdminAccountInput { - s.AdminAccountId = &v +// SetDetectorId sets the DetectorId field's value. +func (s *DisassociateFromAdministratorAccountInput) SetDetectorId(v string) *DisassociateFromAdministratorAccountInput { + s.DetectorId = &v return s } -type DisableOrganizationAdminAccountOutput struct { +type DisassociateFromAdministratorAccountOutput struct { _ struct{} `type:"structure"` } @@ -9004,7 +9750,7 @@ type DisableOrganizationAdminAccountOutput 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 DisableOrganizationAdminAccountOutput) String() string { +func (s DisassociateFromAdministratorAccountOutput) String() string { return awsutil.Prettify(s) } @@ -9013,12 +9759,13 @@ func (s DisableOrganizationAdminAccountOutput) 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 DisableOrganizationAdminAccountOutput) GoString() string { +func (s DisassociateFromAdministratorAccountOutput) GoString() string { return s.String() } +// Deprecated: This input is deprecated, use DisassociateFromAdministratorAccountRequest instead type DisassociateFromMasterAccountInput struct { - _ struct{} `type:"structure" nopayload:"true"` + _ struct{} `deprecated:"true" type:"structure" nopayload:"true"` // The unique ID of the detector of the GuardDuty member account. // @@ -9066,8 +9813,9 @@ func (s *DisassociateFromMasterAccountInput) SetDetectorId(v string) *Disassocia return s } +// Deprecated: This output is deprecated, use DisassociateFromAdministratorAccountResponse instead type DisassociateFromMasterAccountOutput struct { - _ struct{} `type:"structure"` + _ struct{} `deprecated:"true" type:"structure"` } // String returns the string representation. @@ -9194,8 +9942,15 @@ func (s *DisassociateMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccou type DnsRequestAction struct { _ struct{} `type:"structure"` + // Indicates whether the targeted port is blocked. + Blocked *bool `locationName:"blocked" type:"boolean"` + // The domain information for the API request. Domain *string `locationName:"domain" type:"string"` + + // The network connection protocol observed in the activity that prompted GuardDuty + // to generate the finding. + Protocol *string `locationName:"protocol" type:"string"` } // String returns the string representation. @@ -9216,12 +9971,24 @@ func (s DnsRequestAction) GoString() string { return s.String() } +// SetBlocked sets the Blocked field's value. +func (s *DnsRequestAction) SetBlocked(v bool) *DnsRequestAction { + s.Blocked = &v + return s +} + // SetDomain sets the Domain field's value. func (s *DnsRequestAction) SetDomain(v string) *DnsRequestAction { s.Domain = &v return s } +// SetProtocol sets the Protocol field's value. +func (s *DnsRequestAction) SetProtocol(v string) *DnsRequestAction { + s.Protocol = &v + return s +} + // Contains information about the domain. type DomainDetails struct { _ struct{} `type:"structure"` @@ -9752,6 +10519,88 @@ func (s *GeoLocation) SetLon(v float64) *GeoLocation { return s } +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"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API 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 { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API 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 { + 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)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDetectorId sets the DetectorId field's value. +func (s *GetAdministratorAccountInput) SetDetectorId(v string) *GetAdministratorAccountInput { + s.DetectorId = &v + return s +} + +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. +// +// API parameter values that are decorated as "sensitive" in the API 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 { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API 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 { + return s.String() +} + +// SetAdministrator sets the Administrator field's value. +func (s *GetAdministratorAccountOutput) SetAdministrator(v *Administrator) *GetAdministratorAccountOutput { + s.Administrator = v + return s +} + type GetDetectorInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -10446,8 +11295,9 @@ func (s *GetInvitationsCountOutput) SetInvitationsCount(v int64) *GetInvitations return s } +// Deprecated: This input is deprecated, use GetAdministratorAccountRequest instead type GetMasterAccountInput struct { - _ struct{} `type:"structure" nopayload:"true"` + _ struct{} `deprecated:"true" type:"structure" nopayload:"true"` // The unique ID of the detector of the GuardDuty member account. // @@ -10495,8 +11345,9 @@ func (s *GetMasterAccountInput) SetDetectorId(v string) *GetMasterAccountInput { return s } +// Deprecated: This output is deprecated, use GetAdministratorAccountResponse instead type GetMasterAccountOutput struct { - _ struct{} `type:"structure"` + _ struct{} `deprecated:"true" type:"structure"` // The administrator account details. // @@ -10751,6 +11602,108 @@ func (s *GetMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *GetM 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"` + + // 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. +// +// API parameter values that are decorated as "sensitive" in the API 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 { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API 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 { + 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)) + } + 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 *GetRemainingFreeTrialDaysInput) SetAccountIds(v []*string) *GetRemainingFreeTrialDaysInput { + s.AccountIds = v + return s +} + +// SetDetectorId sets the DetectorId field's value. +func (s *GetRemainingFreeTrialDaysInput) SetDetectorId(v string) *GetRemainingFreeTrialDaysInput { + s.DetectorId = &v + return s +} + +type GetRemainingFreeTrialDaysOutput struct { + _ struct{} `type:"structure"` + + // The member accounts which were included in a request and were processed successfully. + Accounts []*AccountFreeTrialInfo `locationName:"accounts" type:"list"` + + // 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. +// +// API parameter values that are decorated as "sensitive" in the API 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) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API 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 { + return s.String() +} + +// SetAccounts sets the Accounts field's value. +func (s *GetRemainingFreeTrialDaysOutput) SetAccounts(v []*AccountFreeTrialInfo) *GetRemainingFreeTrialDaysOutput { + s.Accounts = v + return s +} + +// SetUnprocessedAccounts sets the UnprocessedAccounts field's value. +func (s *GetRemainingFreeTrialDaysOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *GetRemainingFreeTrialDaysOutput { + s.UnprocessedAccounts = v + return s +} + type GetThreatIntelSetInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -11772,6 +12725,39 @@ func (s *KubernetesConfigurationResult) SetAuditLogs(v *KubernetesAuditLogsConfi 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 { @@ -13296,6 +14282,9 @@ type Member struct { // 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"` @@ -13347,6 +14336,12 @@ func (s *Member) SetAccountId(v string) *Member { 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 @@ -14264,10 +15259,10 @@ type ProductCode struct { _ struct{} `type:"structure"` // The product code information. - Code *string `locationName:"code" type:"string"` + Code *string `locationName:"productCodeId" type:"string"` // The product code type. - ProductType *string `locationName:"productType" type:"string"` + ProductType *string `locationName:"productCodeType" type:"string"` } // String returns the string representation. @@ -14833,6 +15828,9 @@ type Service struct { // Information about the activity that is described in a finding. Action *Action `locationName:"action" type:"structure"` + // Contains additional information about the generated finding. + AdditionalInfo *ServiceAdditionalInfo `locationName:"additionalInfo" type:"structure"` + // Indicates whether this finding is archived. Archived *bool `locationName:"archived" type:"boolean"` @@ -14888,6 +15886,12 @@ func (s *Service) SetAction(v *Action) *Service { return s } +// SetAdditionalInfo sets the AdditionalInfo field's value. +func (s *Service) SetAdditionalInfo(v *ServiceAdditionalInfo) *Service { + s.AdditionalInfo = v + return s +} + // SetArchived sets the Archived field's value. func (s *Service) SetArchived(v bool) *Service { s.Archived = &v @@ -14942,6 +15946,47 @@ func (s *Service) SetUserFeedback(v string) *Service { return s } +// Additional information about the generated finding. +type ServiceAdditionalInfo struct { + _ struct{} `type:"structure"` + + // Describes the type of the additional information. + Type *string `locationName:"type" type:"string"` + + // This field specifies the value of the additional information. + Value *string `locationName:"value" 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 ServiceAdditionalInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ServiceAdditionalInfo) GoString() string { + return s.String() +} + +// SetType sets the Type field's value. +func (s *ServiceAdditionalInfo) SetType(v string) *ServiceAdditionalInfo { + s.Type = &v + return s +} + +// SetValue sets the Value field's value. +func (s *ServiceAdditionalInfo) SetValue(v string) *ServiceAdditionalInfo { + s.Value = &v + return s +} + // Contains information about the criteria used for sorting findings. type SortCriteria struct { _ struct{} `type:"structure"` diff --git a/service/guardduty/doc.go b/service/guardduty/doc.go index 0305c50b1b..4454458882 100644 --- a/service/guardduty/doc.go +++ b/service/guardduty/doc.go @@ -4,14 +4,14 @@ // requests to Amazon GuardDuty. // // Amazon GuardDuty is a continuous security monitoring service that analyzes -// and processes the following data sources: VPC Flow Logs, Amazon Web Services -// CloudTrail event logs, and DNS logs. It uses threat intelligence feeds (such -// as lists of malicious IPs and domains) and machine learning to identify unexpected, -// potentially unauthorized, and malicious activity within your Amazon Web Services -// environment. This can include issues like escalations of privileges, uses -// of exposed credentials, or communication with malicious IPs, URLs, or domains. -// For example, GuardDuty can detect compromised EC2 instances that serve malware -// or mine bitcoin. +// and processes the following data sources: VPC Flow Logs, AWS CloudTrail management +// event logs, CloudTrail S3 data event logs, EKS audit logs, and DNS logs. +// It uses threat intelligence feeds (such as lists of malicious IPs and domains) +// and machine learning to identify unexpected, potentially unauthorized, and +// malicious activity within your Amazon Web Services environment. This can +// include issues like escalations of privileges, uses of exposed credentials, +// or communication with malicious IPs, URLs, or domains. For example, GuardDuty +// can detect compromised EC2 instances that serve malware or mine bitcoin. // // GuardDuty also monitors Amazon Web Services account access behavior for signs // of compromise. Some examples of this are unauthorized infrastructure deployments diff --git a/service/guardduty/guarddutyiface/interface.go b/service/guardduty/guarddutyiface/interface.go index 9736e39a7f..5b4e0821f7 100644 --- a/service/guardduty/guarddutyiface/interface.go +++ b/service/guardduty/guarddutyiface/interface.go @@ -26,7 +26,7 @@ import ( // // myFunc uses an SDK service client to make a request to // // Amazon GuardDuty. // func myFunc(svc guarddutyiface.GuardDutyAPI) bool { -// // Make svc.AcceptInvitation request +// // Make svc.AcceptAdministratorInvitation request // } // // func main() { @@ -42,7 +42,7 @@ import ( // type mockGuardDutyClient struct { // guarddutyiface.GuardDutyAPI // } -// func (m *mockGuardDutyClient) AcceptInvitation(input *guardduty.AcceptInvitationInput) (*guardduty.AcceptInvitationOutput, error) { +// func (m *mockGuardDutyClient) AcceptAdministratorInvitation(input *guardduty.AcceptAdministratorInvitationInput) (*guardduty.AcceptAdministratorInvitationOutput, error) { // // mock response/functionality // } // @@ -60,6 +60,10 @@ import ( // and waiters. Its suggested to use the pattern above for testing, or using // tooling to generate mocks to satisfy the interfaces. type GuardDutyAPI interface { + AcceptAdministratorInvitation(*guardduty.AcceptAdministratorInvitationInput) (*guardduty.AcceptAdministratorInvitationOutput, error) + AcceptAdministratorInvitationWithContext(aws.Context, *guardduty.AcceptAdministratorInvitationInput, ...request.Option) (*guardduty.AcceptAdministratorInvitationOutput, error) + AcceptAdministratorInvitationRequest(*guardduty.AcceptAdministratorInvitationInput) (*request.Request, *guardduty.AcceptAdministratorInvitationOutput) + AcceptInvitation(*guardduty.AcceptInvitationInput) (*guardduty.AcceptInvitationOutput, error) AcceptInvitationWithContext(aws.Context, *guardduty.AcceptInvitationInput, ...request.Option) (*guardduty.AcceptInvitationOutput, error) AcceptInvitationRequest(*guardduty.AcceptInvitationInput) (*request.Request, *guardduty.AcceptInvitationOutput) @@ -140,6 +144,10 @@ type GuardDutyAPI interface { DisableOrganizationAdminAccountWithContext(aws.Context, *guardduty.DisableOrganizationAdminAccountInput, ...request.Option) (*guardduty.DisableOrganizationAdminAccountOutput, error) DisableOrganizationAdminAccountRequest(*guardduty.DisableOrganizationAdminAccountInput) (*request.Request, *guardduty.DisableOrganizationAdminAccountOutput) + DisassociateFromAdministratorAccount(*guardduty.DisassociateFromAdministratorAccountInput) (*guardduty.DisassociateFromAdministratorAccountOutput, error) + DisassociateFromAdministratorAccountWithContext(aws.Context, *guardduty.DisassociateFromAdministratorAccountInput, ...request.Option) (*guardduty.DisassociateFromAdministratorAccountOutput, error) + DisassociateFromAdministratorAccountRequest(*guardduty.DisassociateFromAdministratorAccountInput) (*request.Request, *guardduty.DisassociateFromAdministratorAccountOutput) + DisassociateFromMasterAccount(*guardduty.DisassociateFromMasterAccountInput) (*guardduty.DisassociateFromMasterAccountOutput, error) DisassociateFromMasterAccountWithContext(aws.Context, *guardduty.DisassociateFromMasterAccountInput, ...request.Option) (*guardduty.DisassociateFromMasterAccountOutput, error) DisassociateFromMasterAccountRequest(*guardduty.DisassociateFromMasterAccountInput) (*request.Request, *guardduty.DisassociateFromMasterAccountOutput) @@ -152,6 +160,10 @@ type GuardDutyAPI interface { EnableOrganizationAdminAccountWithContext(aws.Context, *guardduty.EnableOrganizationAdminAccountInput, ...request.Option) (*guardduty.EnableOrganizationAdminAccountOutput, error) EnableOrganizationAdminAccountRequest(*guardduty.EnableOrganizationAdminAccountInput) (*request.Request, *guardduty.EnableOrganizationAdminAccountOutput) + GetAdministratorAccount(*guardduty.GetAdministratorAccountInput) (*guardduty.GetAdministratorAccountOutput, error) + GetAdministratorAccountWithContext(aws.Context, *guardduty.GetAdministratorAccountInput, ...request.Option) (*guardduty.GetAdministratorAccountOutput, error) + GetAdministratorAccountRequest(*guardduty.GetAdministratorAccountInput) (*request.Request, *guardduty.GetAdministratorAccountOutput) + GetDetector(*guardduty.GetDetectorInput) (*guardduty.GetDetectorOutput, error) GetDetectorWithContext(aws.Context, *guardduty.GetDetectorInput, ...request.Option) (*guardduty.GetDetectorOutput, error) GetDetectorRequest(*guardduty.GetDetectorInput) (*request.Request, *guardduty.GetDetectorOutput) @@ -188,6 +200,10 @@ type GuardDutyAPI interface { GetMembersWithContext(aws.Context, *guardduty.GetMembersInput, ...request.Option) (*guardduty.GetMembersOutput, error) GetMembersRequest(*guardduty.GetMembersInput) (*request.Request, *guardduty.GetMembersOutput) + GetRemainingFreeTrialDays(*guardduty.GetRemainingFreeTrialDaysInput) (*guardduty.GetRemainingFreeTrialDaysOutput, error) + GetRemainingFreeTrialDaysWithContext(aws.Context, *guardduty.GetRemainingFreeTrialDaysInput, ...request.Option) (*guardduty.GetRemainingFreeTrialDaysOutput, error) + GetRemainingFreeTrialDaysRequest(*guardduty.GetRemainingFreeTrialDaysInput) (*request.Request, *guardduty.GetRemainingFreeTrialDaysOutput) + GetThreatIntelSet(*guardduty.GetThreatIntelSetInput) (*guardduty.GetThreatIntelSetOutput, error) GetThreatIntelSetWithContext(aws.Context, *guardduty.GetThreatIntelSetInput, ...request.Option) (*guardduty.GetThreatIntelSetOutput, error) GetThreatIntelSetRequest(*guardduty.GetThreatIntelSetInput) (*request.Request, *guardduty.GetThreatIntelSetOutput) diff --git a/service/workspaces/api.go b/service/workspaces/api.go index 5c645fb9bc..8ffebb89fa 100644 --- a/service/workspaces/api.go +++ b/service/workspaces/api.go @@ -7550,8 +7550,8 @@ type DefaultClientBrandingAttributes struct { // is en_US. LoginMessage map[string]*string `type:"map"` - // The logo URL. This is the link where users can download the logo image. The - // only supported image format is .png. + // The logo URL. The only image format accepted is a binary data object that + // is converted from a .png file. LogoUrl *string `min:"1" type:"string"` // The support email. The company's customer support email address. @@ -7639,8 +7639,8 @@ type DefaultImportClientBrandingAttributes struct { // is en_US. LoginMessage map[string]*string `type:"map"` - // The logo. This is the link where users can download the logo image. The only - // image format accepted is .png. + // The logo. The only image format accepted is a binary data object that is + // converted from a .png file. // Logo is automatically base64 encoded/decoded by the SDK. Logo []byte `min:"1" type:"blob"` @@ -10648,11 +10648,7 @@ type ImportWorkspaceImageInput struct { // for Windows 10 BYOL images. For more information about subscribing to Office // for BYOL images, see Bring Your Own Windows Desktop Licenses (https://docs.aws.amazon.com/workspaces/latest/adminguide/byol-windows-images.html). // - // * Although this parameter is an array, only one item is allowed at this - // time - // - // * Microsoft Office 2016 application subscription through AWS is currently - // not supported for Graphics.g4dn Bring Your Own License (BYOL) images + // Although this parameter is an array, only one item is allowed at this time. Applications []*string `min:"1" type:"list" enum:"Application"` // The identifier of the EC2 image. @@ -10675,11 +10671,8 @@ type ImportWorkspaceImageInput struct { // Streaming Protocol (WSP). To use WSP, specify a value that ends in _WSP. // To use PCoIP, specify a value that does not end in _WSP. // - // For non-GPU-enabled images (bundles other than Graphics.g4dn, GraphicsPro.g4dn, - // Graphics, or GraphicsPro), specify BYOL_REGULAR or BYOL_REGULAR_WSP, depending - // on the protocol. - // - // Use BYOL_GRAPHICS_G4DN ingestion for both Graphics.g4dn and GraphicsPro.g4dn. + // For non-GPU-enabled bundles (bundles other than Graphics or GraphicsPro), + // specify BYOL_REGULAR or BYOL_REGULAR_WSP, depending on the protocol. // // IngestionProcess is a required field IngestionProcess *string `type:"string" required:"true" enum:"WorkspaceImageIngestionProcess"` @@ -10961,7 +10954,8 @@ type IosClientBrandingAttributes struct { LoginMessage map[string]*string `type:"map"` // The @2x version of the logo. This is the higher resolution display that offers - // a scale factor of 2.0 (or @2x). + // a scale factor of 2.0 (or @2x). The only image format accepted is a binary + // data object that is converted from a .png file. // // For more information about iOS image size and resolution, see Image Size // and Resolution (https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/image-size-and-resolution/) @@ -10969,16 +10963,17 @@ type IosClientBrandingAttributes struct { Logo2xUrl *string `min:"1" type:"string"` // The @3x version of the logo. This is the higher resolution display that offers - // a scale factor of 3.0 (or @3x). + // a scale factor of 3.0 (or @3x).The only image format accepted is a binary + // data object that is converted from a .png file. // // For more information about iOS image size and resolution, see Image Size // and Resolution (https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/image-size-and-resolution/) // in the Apple Human Interface Guidelines. Logo3xUrl *string `min:"1" type:"string"` - // The logo. This is the link where users can download the logo image. This - // is the standard-resolution display that has a 1:1 pixel density (or @1x), - // where one pixel is equal to one point. + // The logo. This is the standard-resolution display that has a 1:1 pixel density + // (or @1x), where one pixel is equal to one point. The only image format accepted + // is a binary data object that is converted from a .png file. LogoUrl *string `min:"1" type:"string"` // The support email. The company's customer support email address. @@ -11078,14 +11073,15 @@ type IosImportClientBrandingAttributes struct { // is en_US. LoginMessage map[string]*string `type:"map"` - // The logo. This is the link where users can download the logo image. This - // is the standard-resolution display that has a 1:1 pixel density (or @1x), - // where one pixel is equal to one point. + // The logo. This is the standard-resolution display that has a 1:1 pixel density + // (or @1x), where one pixel is equal to one point. The only image format accepted + // is a binary data object that is converted from a .png file. // Logo is automatically base64 encoded/decoded by the SDK. Logo []byte `min:"1" type:"blob"` // The @2x version of the logo. This is the higher resolution display that offers - // a scale factor of 2.0 (or @2x). + // a scale factor of 2.0 (or @2x). The only image format accepted is a binary + // data object that is converted from a .png file. // // For more information about iOS image size and resolution, see Image Size // and Resolution (https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/image-size-and-resolution/) @@ -11094,7 +11090,8 @@ type IosImportClientBrandingAttributes struct { Logo2x []byte `min:"1" type:"blob"` // The @3x version of the logo. This is the higher resolution display that offers - // a scale factor of 3.0 (or @3x). + // a scale factor of 3.0 (or @3x). The only image format accepted is a binary + // data object that is converted from a .png file. // // For more information about iOS image size and resolution, see Image Size // and Resolution (https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/image-size-and-resolution/) @@ -12245,7 +12242,11 @@ type OperationNotSupportedException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The exception error message. Message_ *string `locationName:"message" type:"string"` + + // The exception error reason. + Reason *string `locationName:"reason" type:"string"` } // String returns the string representation. @@ -12291,7 +12292,7 @@ func (s *OperationNotSupportedException) OrigErr() error { } func (s *OperationNotSupportedException) 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.