WorkMail
public struct WorkMail
Client object for interacting with AWS WorkMail service.
Amazon WorkMail is a secure, managed business email and calendaring service with support for existing desktop and mobile email clients. You can access your email, contacts, and calendars using Microsoft Outlook, your browser, or other native iOS and Android email applications. You can integrate WorkMail with your existing corporate directory and control both the keys that encrypt your data and the location in which your data is stored. The WorkMail API is designed for the following scenarios: Listing and describing organizations Managing users Managing groups Managing resources All WorkMail API operations are Amazon-authenticated and certificate-signed. They not only require the use of the AWS SDK, but also allow for the exclusive use of AWS Identity and Access Management users and roles to help facilitate access, trust, and permission policies. By creating a role and allowing an IAM user to access the WorkMail site, the IAM user gains full administrative visibility into the entire WorkMail organization (or as set in the IAM policy). This includes, but is not limited to, the ability to create, update, and delete users, groups, and resources. This allows developers to perform the scenarios listed above, as well as give users the ability to grant access on a selective basis using the IAM model.
-
Undocumented
Declaration
Swift
public let client: AWSClient
-
Initialize the WorkMail client
Declaration
Swift
public init(accessKeyId: String? = nil, secretAccessKey: String? = nil, sessionToken: String? = nil, region: AWSSDKSwiftCore.Region? = nil, endpoint: String? = nil, middlewares: [AWSServiceMiddleware] = [], eventLoopGroupProvider: AWSClient.EventLoopGroupProvider = .useAWSClientShared)
Parameters
accessKeyId
Public access key provided by AWS
secretAccessKey
Private access key provided by AWS
sessionToken
Token provided by STS.AssumeRole() which allows access to another AWS account
region
Region of server you want to communicate with
endpoint
Custom endpoint URL to use instead of standard AWS servers
middlewares
Array of middlewares to apply to requests and responses
eventLoopGroupProvider
EventLoopGroup to use. Use
useAWSClientShared
if the client shall manage its own EventLoopGroup.
-
Adds a member (user or group) to the resource’s set of delegates.
Declaration
Swift
public func associateDelegateToResource(_ input: AssociateDelegateToResourceRequest) -> EventLoopFuture<AssociateDelegateToResourceResponse>
-
Adds a member (user or group) to the group’s set.
Declaration
Swift
public func associateMemberToGroup(_ input: AssociateMemberToGroupRequest) -> EventLoopFuture<AssociateMemberToGroupResponse>
-
Adds an alias to the set of a given member (user or group) of Amazon WorkMail.
Declaration
Swift
public func createAlias(_ input: CreateAliasRequest) -> EventLoopFuture<CreateAliasResponse>
-
Creates a group that can be used in Amazon WorkMail by calling the RegisterToWorkMail operation.
Declaration
Swift
public func createGroup(_ input: CreateGroupRequest) -> EventLoopFuture<CreateGroupResponse>
-
Creates a new Amazon WorkMail resource.
Declaration
Swift
public func createResource(_ input: CreateResourceRequest) -> EventLoopFuture<CreateResourceResponse>
-
Creates a user who can be used in Amazon WorkMail by calling the RegisterToWorkMail operation.
Declaration
Swift
public func createUser(_ input: CreateUserRequest) -> EventLoopFuture<CreateUserResponse>
-
Deletes an access control rule for the specified WorkMail organization.
Declaration
Swift
public func deleteAccessControlRule(_ input: DeleteAccessControlRuleRequest) -> EventLoopFuture<DeleteAccessControlRuleResponse>
-
Remove one or more specified aliases from a set of aliases for a given user.
Declaration
Swift
public func deleteAlias(_ input: DeleteAliasRequest) -> EventLoopFuture<DeleteAliasResponse>
-
Deletes a group from Amazon WorkMail.
Declaration
Swift
public func deleteGroup(_ input: DeleteGroupRequest) -> EventLoopFuture<DeleteGroupResponse>
-
Deletes permissions granted to a member (user or group).
Declaration
Swift
public func deleteMailboxPermissions(_ input: DeleteMailboxPermissionsRequest) -> EventLoopFuture<DeleteMailboxPermissionsResponse>
-
Deletes the specified resource.
Declaration
Swift
public func deleteResource(_ input: DeleteResourceRequest) -> EventLoopFuture<DeleteResourceResponse>
-
Deletes the specified retention policy from the specified organization.
Declaration
Swift
public func deleteRetentionPolicy(_ input: DeleteRetentionPolicyRequest) -> EventLoopFuture<DeleteRetentionPolicyResponse>
-
Deletes a user from Amazon WorkMail and all subsequent systems. Before you can delete a user, the user state must be DISABLED. Use the DescribeUser action to confirm the user state. Deleting a user is permanent and cannot be undone. WorkMail archives user mailboxes for 30 days before they are permanently removed.
Declaration
Swift
public func deleteUser(_ input: DeleteUserRequest) -> EventLoopFuture<DeleteUserResponse>
-
Mark a user, group, or resource as no longer used in Amazon WorkMail. This action disassociates the mailbox and schedules it for clean-up. WorkMail keeps mailboxes for 30 days before they are permanently removed. The functionality in the console is Disable.
Declaration
Swift
public func deregisterFromWorkMail(_ input: DeregisterFromWorkMailRequest) -> EventLoopFuture<DeregisterFromWorkMailResponse>
-
Returns the data available for the group.
Declaration
Swift
public func describeGroup(_ input: DescribeGroupRequest) -> EventLoopFuture<DescribeGroupResponse>
-
Provides more information regarding a given organization based on its identifier.
Declaration
Swift
public func describeOrganization(_ input: DescribeOrganizationRequest) -> EventLoopFuture<DescribeOrganizationResponse>
-
Returns the data available for the resource.
Declaration
Swift
public func describeResource(_ input: DescribeResourceRequest) -> EventLoopFuture<DescribeResourceResponse>
-
Provides information regarding the user.
Declaration
Swift
public func describeUser(_ input: DescribeUserRequest) -> EventLoopFuture<DescribeUserResponse>
-
Removes a member from the resource’s set of delegates.
Declaration
Swift
public func disassociateDelegateFromResource(_ input: DisassociateDelegateFromResourceRequest) -> EventLoopFuture<DisassociateDelegateFromResourceResponse>
-
Removes a member from a group.
Declaration
Swift
public func disassociateMemberFromGroup(_ input: DisassociateMemberFromGroupRequest) -> EventLoopFuture<DisassociateMemberFromGroupResponse>
-
Gets the effects of an organization’s access control rules as they apply to a specified IPv4 address, access protocol action, or user ID.
Declaration
Swift
public func getAccessControlEffect(_ input: GetAccessControlEffectRequest) -> EventLoopFuture<GetAccessControlEffectResponse>
-
Gets the default retention policy details for the specified organization.
Declaration
Swift
public func getDefaultRetentionPolicy(_ input: GetDefaultRetentionPolicyRequest) -> EventLoopFuture<GetDefaultRetentionPolicyResponse>
-
Requests a user’s mailbox details for a specified organization and user.
Declaration
Swift
public func getMailboxDetails(_ input: GetMailboxDetailsRequest) -> EventLoopFuture<GetMailboxDetailsResponse>
-
Lists the access control rules for the specified organization.
Declaration
Swift
public func listAccessControlRules(_ input: ListAccessControlRulesRequest) -> EventLoopFuture<ListAccessControlRulesResponse>
-
Creates a paginated call to list the aliases associated with a given entity.
Declaration
Swift
public func listAliases(_ input: ListAliasesRequest) -> EventLoopFuture<ListAliasesResponse>
-
Returns an overview of the members of a group. Users and groups can be members of a group.
Declaration
Swift
public func listGroupMembers(_ input: ListGroupMembersRequest) -> EventLoopFuture<ListGroupMembersResponse>
-
Returns summaries of the organization’s groups.
Declaration
Swift
public func listGroups(_ input: ListGroupsRequest) -> EventLoopFuture<ListGroupsResponse>
-
Lists the mailbox permissions associated with a user, group, or resource mailbox.
Declaration
Swift
public func listMailboxPermissions(_ input: ListMailboxPermissionsRequest) -> EventLoopFuture<ListMailboxPermissionsResponse>
-
Returns summaries of the customer’s organizations.
Declaration
Swift
public func listOrganizations(_ input: ListOrganizationsRequest) -> EventLoopFuture<ListOrganizationsResponse>
-
Lists the delegates associated with a resource. Users and groups can be resource delegates and answer requests on behalf of the resource.
Declaration
Swift
public func listResourceDelegates(_ input: ListResourceDelegatesRequest) -> EventLoopFuture<ListResourceDelegatesResponse>
-
Returns summaries of the organization’s resources.
Declaration
Swift
public func listResources(_ input: ListResourcesRequest) -> EventLoopFuture<ListResourcesResponse>
-
Lists the tags applied to an Amazon WorkMail organization resource.
Declaration
Swift
public func listTagsForResource(_ input: ListTagsForResourceRequest) -> EventLoopFuture<ListTagsForResourceResponse>
-
Returns summaries of the organization’s users.
Declaration
Swift
public func listUsers(_ input: ListUsersRequest) -> EventLoopFuture<ListUsersResponse>
-
Adds a new access control rule for the specified organization. The rule allows or denies access to the organization for the specified IPv4 addresses, access protocol actions, and user IDs. Adding a new rule with the same name as an existing rule replaces the older rule.
Declaration
Swift
public func putAccessControlRule(_ input: PutAccessControlRuleRequest) -> EventLoopFuture<PutAccessControlRuleResponse>
-
Sets permissions for a user, group, or resource. This replaces any pre-existing permissions.
Declaration
Swift
public func putMailboxPermissions(_ input: PutMailboxPermissionsRequest) -> EventLoopFuture<PutMailboxPermissionsResponse>
-
Puts a retention policy to the specified organization.
Declaration
Swift
public func putRetentionPolicy(_ input: PutRetentionPolicyRequest) -> EventLoopFuture<PutRetentionPolicyResponse>
-
Registers an existing and disabled user, group, or resource for Amazon WorkMail use by associating a mailbox and calendaring capabilities. It performs no change if the user, group, or resource is enabled and fails if the user, group, or resource is deleted. This operation results in the accumulation of costs. For more information, see Pricing. The equivalent console functionality for this operation is Enable. Users can either be created by calling the CreateUser API operation or they can be synchronized from your directory. For more information, see DeregisterFromWorkMail.
Declaration
Swift
public func registerToWorkMail(_ input: RegisterToWorkMailRequest) -> EventLoopFuture<RegisterToWorkMailResponse>
-
Allows the administrator to reset the password for a user.
Declaration
Swift
public func resetPassword(_ input: ResetPasswordRequest) -> EventLoopFuture<ResetPasswordResponse>
-
Applies the specified tags to the specified Amazon WorkMail organization resource.
Declaration
Swift
public func tagResource(_ input: TagResourceRequest) -> EventLoopFuture<TagResourceResponse>
-
Untags the specified tags from the specified Amazon WorkMail organization resource.
Declaration
Swift
public func untagResource(_ input: UntagResourceRequest) -> EventLoopFuture<UntagResourceResponse>
-
Updates a user’s current mailbox quota for a specified organization and user.
Declaration
Swift
public func updateMailboxQuota(_ input: UpdateMailboxQuotaRequest) -> EventLoopFuture<UpdateMailboxQuotaResponse>
-
Updates the primary email for a user, group, or resource. The current email is moved into the list of aliases (or swapped between an existing alias and the current primary email), and the email provided in the input is promoted as the primary.
Declaration
Swift
public func updatePrimaryEmailAddress(_ input: UpdatePrimaryEmailAddressRequest) -> EventLoopFuture<UpdatePrimaryEmailAddressResponse>
-
Updates data for the resource. To have the latest information, it must be preceded by a DescribeResource call. The dataset in the request should be the one expected when performing another DescribeResource call.
Declaration
Swift
public func updateResource(_ input: UpdateResourceRequest) -> EventLoopFuture<UpdateResourceResponse>
-
Creates a paginated call to list the aliases associated with a given entity.
Declaration
Swift
public func listAliasesPaginator(_ input: ListAliasesRequest, onPage: @escaping (ListAliasesResponse, EventLoop) -> EventLoopFuture<Bool>) -> EventLoopFuture<Void>
-
Returns an overview of the members of a group. Users and groups can be members of a group.
Declaration
Swift
public func listGroupMembersPaginator(_ input: ListGroupMembersRequest, onPage: @escaping (ListGroupMembersResponse, EventLoop) -> EventLoopFuture<Bool>) -> EventLoopFuture<Void>
-
Returns summaries of the organization’s groups.
Declaration
Swift
public func listGroupsPaginator(_ input: ListGroupsRequest, onPage: @escaping (ListGroupsResponse, EventLoop) -> EventLoopFuture<Bool>) -> EventLoopFuture<Void>
-
Lists the mailbox permissions associated with a user, group, or resource mailbox.
Declaration
Swift
public func listMailboxPermissionsPaginator(_ input: ListMailboxPermissionsRequest, onPage: @escaping (ListMailboxPermissionsResponse, EventLoop) -> EventLoopFuture<Bool>) -> EventLoopFuture<Void>
-
Returns summaries of the customer’s organizations.
Declaration
Swift
public func listOrganizationsPaginator(_ input: ListOrganizationsRequest, onPage: @escaping (ListOrganizationsResponse, EventLoop) -> EventLoopFuture<Bool>) -> EventLoopFuture<Void>
-
Lists the delegates associated with a resource. Users and groups can be resource delegates and answer requests on behalf of the resource.
Declaration
Swift
public func listResourceDelegatesPaginator(_ input: ListResourceDelegatesRequest, onPage: @escaping (ListResourceDelegatesResponse, EventLoop) -> EventLoopFuture<Bool>) -> EventLoopFuture<Void>
-
Returns summaries of the organization’s resources.
Declaration
Swift
public func listResourcesPaginator(_ input: ListResourcesRequest, onPage: @escaping (ListResourcesResponse, EventLoop) -> EventLoopFuture<Bool>) -> EventLoopFuture<Void>
-
Returns summaries of the organization’s users.
Declaration
Swift
public func listUsersPaginator(_ input: ListUsersRequest, onPage: @escaping (ListUsersResponse, EventLoop) -> EventLoopFuture<Bool>) -> EventLoopFuture<Void>
-
Undocumented
See moreDeclaration
Swift
public struct ListAliasesRequest : AWSShape
extension WorkMail.ListAliasesRequest: AWSPaginateStringToken
-
Undocumented
See moreDeclaration
Swift
public struct ListGroupMembersRequest : AWSShape
extension WorkMail.ListGroupMembersRequest: AWSPaginateStringToken
-
Undocumented
See moreDeclaration
Swift
public struct ListGroupsRequest : AWSShape
extension WorkMail.ListGroupsRequest: AWSPaginateStringToken
-
Undocumented
See moreDeclaration
Swift
public struct ListMailboxPermissionsRequest : AWSShape
extension WorkMail.ListMailboxPermissionsRequest: AWSPaginateStringToken
-
Undocumented
See moreDeclaration
Swift
public struct ListOrganizationsRequest : AWSShape
extension WorkMail.ListOrganizationsRequest: AWSPaginateStringToken
-
Undocumented
See moreDeclaration
Swift
public struct ListResourceDelegatesRequest : AWSShape
extension WorkMail.ListResourceDelegatesRequest: AWSPaginateStringToken
-
Undocumented
See moreDeclaration
Swift
public struct ListResourcesRequest : AWSShape
extension WorkMail.ListResourcesRequest: AWSPaginateStringToken
-
Undocumented
See moreDeclaration
Swift
public struct ListUsersRequest : AWSShape
extension WorkMail.ListUsersRequest: AWSPaginateStringToken
-
Undocumented
See moreDeclaration
Swift
public enum AccessControlRuleEffect : String, CustomStringConvertible, Codable
-
Undocumented
See moreDeclaration
Swift
public enum EntityState : String, CustomStringConvertible, Codable
-
Undocumented
See moreDeclaration
Swift
public enum FolderName : String, CustomStringConvertible, Codable
-
Undocumented
See moreDeclaration
Swift
public enum MemberType : String, CustomStringConvertible, Codable
-
Undocumented
See moreDeclaration
Swift
public enum PermissionType : String, CustomStringConvertible, Codable
-
Undocumented
See moreDeclaration
Swift
public enum ResourceType : String, CustomStringConvertible, Codable
-
Undocumented
See moreDeclaration
Swift
public enum RetentionAction : String, CustomStringConvertible, Codable
-
Undocumented
See moreDeclaration
Swift
public enum UserRole : String, CustomStringConvertible, Codable