class Aws::WorkMail::Client

An API client for WorkMail. To construct a client, you need to configure a `:region` and `:credentials`.

client = Aws::WorkMail::Client.new(
  region: region_name,
  credentials: credentials,
  # ...
)

For details on configuring region and credentials see the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).

See {#initialize} for a full list of supported configuration options.

Attributes

identifier[R]

@api private

Public Class Methods

errors_module() click to toggle source

@api private

# File lib/aws-sdk-workmail/client.rb, line 2663
def errors_module
  Errors
end
new(*args) click to toggle source

@overload initialize(options)

@param [Hash] options
@option options [required, Aws::CredentialProvider] :credentials
  Your AWS credentials. This can be an instance of any one of the
  following classes:

  * `Aws::Credentials` - Used for configuring static, non-refreshing
    credentials.

  * `Aws::SharedCredentials` - Used for loading static credentials from a
    shared file, such as `~/.aws/config`.

  * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.

  * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
    assume a role after providing credentials via the web.

  * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
    access token generated from `aws login`.

  * `Aws::ProcessCredentials` - Used for loading credentials from a
    process that outputs to stdout.

  * `Aws::InstanceProfileCredentials` - Used for loading credentials
    from an EC2 IMDS on an EC2 instance.

  * `Aws::ECSCredentials` - Used for loading credentials from
    instances running in ECS.

  * `Aws::CognitoIdentityCredentials` - Used for loading credentials
    from the Cognito Identity service.

  When `:credentials` are not configured directly, the following
  locations will be searched for credentials:

  * `Aws.config[:credentials]`
  * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
  * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
  * `~/.aws/credentials`
  * `~/.aws/config`
  * EC2/ECS IMDS instance profile - When used by default, the timeouts
    are very aggressive. Construct and pass an instance of
    `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
    enable retries and extended timeouts.

@option options [required, String] :region
  The AWS region to connect to.  The configured `:region` is
  used to determine the service `:endpoint`. When not passed,
  a default `:region` is searched for in the following locations:

  * `Aws.config[:region]`
  * `ENV['AWS_REGION']`
  * `ENV['AMAZON_REGION']`
  * `ENV['AWS_DEFAULT_REGION']`
  * `~/.aws/credentials`
  * `~/.aws/config`

@option options [String] :access_key_id

@option options [Boolean] :active_endpoint_cache (false)
  When set to `true`, a thread polling for endpoints will be running in
  the background every 60 secs (default). Defaults to `false`.

@option options [Boolean] :adaptive_retry_wait_to_fill (true)
  Used only in `adaptive` retry mode.  When true, the request will sleep
  until there is sufficent client side capacity to retry the request.
  When false, the request will raise a `RetryCapacityNotAvailableError` and will
  not retry instead of sleeping.

@option options [Boolean] :client_side_monitoring (false)
  When `true`, client-side metrics will be collected for all API requests from
  this client.

@option options [String] :client_side_monitoring_client_id ("")
  Allows you to provide an identifier for this client which will be attached to
  all generated client side metrics. Defaults to an empty string.

@option options [String] :client_side_monitoring_host ("127.0.0.1")
  Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
  side monitoring agent is running on, where client metrics will be published via UDP.

@option options [Integer] :client_side_monitoring_port (31000)
  Required for publishing client metrics. The port that the client side monitoring
  agent is running on, where client metrics will be published via UDP.

@option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
  Allows you to provide a custom client-side monitoring publisher class. By default,
  will use the Client Side Monitoring Agent Publisher.

@option options [Boolean] :convert_params (true)
  When `true`, an attempt is made to coerce request parameters into
  the required types.

@option options [Boolean] :correct_clock_skew (true)
  Used only in `standard` and adaptive retry modes. Specifies whether to apply
  a clock skew correction and retry requests with skewed client clocks.

@option options [Boolean] :disable_host_prefix_injection (false)
  Set to true to disable SDK automatically adding host prefix
  to default service endpoint when available.

@option options [String] :endpoint
  The client endpoint is normally constructed from the `:region`
  option. You should only configure an `:endpoint` when connecting
  to test or custom endpoints. This should be a valid HTTP(S) URI.

@option options [Integer] :endpoint_cache_max_entries (1000)
  Used for the maximum size limit of the LRU cache storing endpoints data
  for endpoint discovery enabled operations. Defaults to 1000.

@option options [Integer] :endpoint_cache_max_threads (10)
  Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.

@option options [Integer] :endpoint_cache_poll_interval (60)
  When :endpoint_discovery and :active_endpoint_cache is enabled,
  Use this option to config the time interval in seconds for making
  requests fetching endpoints information. Defaults to 60 sec.

@option options [Boolean] :endpoint_discovery (false)
  When set to `true`, endpoint discovery will be enabled for operations when available.

@option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
  The log formatter.

@option options [Symbol] :log_level (:info)
  The log level to send messages to the `:logger` at.

@option options [Logger] :logger
  The Logger instance to send log messages to.  If this option
  is not set, logging will be disabled.

@option options [Integer] :max_attempts (3)
  An integer representing the maximum number attempts that will be made for
  a single request, including the initial attempt.  For example,
  setting this value to 5 will result in a request being retried up to
  4 times. Used in `standard` and `adaptive` retry modes.

@option options [String] :profile ("default")
  Used when loading credentials from the shared credentials file
  at HOME/.aws/credentials.  When not specified, 'default' is used.

@option options [Proc] :retry_backoff
  A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
  This option is only used in the `legacy` retry mode.

@option options [Float] :retry_base_delay (0.3)
  The base delay in seconds used by the default backoff function. This option
  is only used in the `legacy` retry mode.

@option options [Symbol] :retry_jitter (:none)
  A delay randomiser function used by the default backoff function.
  Some predefined functions can be referenced by name - :none, :equal, :full,
  otherwise a Proc that takes and returns a number. This option is only used
  in the `legacy` retry mode.

  @see https://www.awsarchitectureblog.com/2015/03/backoff.html

@option options [Integer] :retry_limit (3)
  The maximum number of times to retry failed requests.  Only
  ~ 500 level server errors and certain ~ 400 level client errors
  are retried.  Generally, these are throttling errors, data
  checksum errors, networking errors, timeout errors, auth errors,
  endpoint discovery, and errors from expired credentials.
  This option is only used in the `legacy` retry mode.

@option options [Integer] :retry_max_delay (0)
  The maximum number of seconds to delay between retries (0 for no limit)
  used by the default backoff function. This option is only used in the
  `legacy` retry mode.

@option options [String] :retry_mode ("legacy")
  Specifies which retry algorithm to use. Values are:

  * `legacy` - The pre-existing retry behavior.  This is default value if
    no retry mode is provided.

  * `standard` - A standardized set of retry rules across the AWS SDKs.
    This includes support for retry quotas, which limit the number of
    unsuccessful retries a client can make.

  * `adaptive` - An experimental retry mode that includes all the
    functionality of `standard` mode along with automatic client side
    throttling.  This is a provisional mode that may change behavior
    in the future.

@option options [String] :secret_access_key

@option options [String] :session_token

@option options [Boolean] :simple_json (false)
  Disables request parameter conversion, validation, and formatting.
  Also disable response data type conversions. This option is useful
  when you want to ensure the highest level of performance by
  avoiding overhead of walking request parameters and response data
  structures.

  When `:simple_json` is enabled, the request parameters hash must
  be formatted exactly as the DynamoDB API expects.

@option options [Boolean] :stub_responses (false)
  Causes the client to return stubbed responses. By default
  fake responses are generated and returned. You can specify
  the response data to return or errors to raise by calling
  {ClientStubs#stub_responses}. See {ClientStubs} for more information.

  ** Please note ** When response stubbing is enabled, no HTTP
  requests are made, and retries are disabled.

@option options [Boolean] :validate_params (true)
  When `true`, request parameters are validated before
  sending the request.

@option options [URI::HTTP,String] :http_proxy A proxy to send
  requests through.  Formatted like 'http://proxy.com:123'.

@option options [Float] :http_open_timeout (15) The number of
  seconds to wait when opening a HTTP session before raising a
  `Timeout::Error`.

@option options [Integer] :http_read_timeout (60) The default
  number of seconds to wait for response data.  This value can
  safely be set per-request on the session.

@option options [Float] :http_idle_timeout (5) The number of
  seconds a connection is allowed to sit idle before it is
  considered stale.  Stale connections are closed and removed
  from the pool before making a request.

@option options [Float] :http_continue_timeout (1) The number of
  seconds to wait for a 100-continue response before sending the
  request body.  This option has no effect unless the request has
  "Expect" header set to "100-continue".  Defaults to `nil` which
  disables this behaviour.  This value can safely be set per
  request on the session.

@option options [Boolean] :http_wire_trace (false) When `true`,
  HTTP debug output will be sent to the `:logger`.

@option options [Boolean] :ssl_verify_peer (true) When `true`,
  SSL peer certificates are verified when establishing a
  connection.

@option options [String] :ssl_ca_bundle Full path to the SSL
  certificate authority bundle file that should be used when
  verifying peer certificates.  If you do not pass
  `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
  will be used if available.

@option options [String] :ssl_ca_directory Full path of the
  directory that contains the unbundled SSL certificate
  authority files for verifying peer certificates.  If you do
  not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
  system default will be used if available.
Calls superclass method
# File lib/aws-sdk-workmail/client.rb, line 334
def initialize(*args)
  super
end

Public Instance Methods

associate_delegate_to_resource(params = {}, options = {}) click to toggle source

Adds a member (user or group) to the resource's set of delegates.

@option params [required, String] :organization_id

The organization under which the resource exists.

@option params [required, String] :resource_id

The resource for which members (users or groups) are associated.

@option params [required, String] :entity_id

The member (user or group) to associate to the resource.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

resp = client.associate_delegate_to_resource({
  organization_id: "OrganizationId", # required
  resource_id: "ResourceId", # required
  entity_id: "WorkMailIdentifier", # required
})

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/AssociateDelegateToResource AWS API Documentation

@overload associate_delegate_to_resource(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 365
def associate_delegate_to_resource(params = {}, options = {})
  req = build_request(:associate_delegate_to_resource, params)
  req.send_request(options)
end
associate_member_to_group(params = {}, options = {}) click to toggle source

Adds a member (user or group) to the group's set.

@option params [required, String] :organization_id

The organization under which the group exists.

@option params [required, String] :group_id

The group to which the member (user or group) is associated.

@option params [required, String] :member_id

The member (user or group) to associate to the group.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

resp = client.associate_member_to_group({
  organization_id: "OrganizationId", # required
  group_id: "WorkMailIdentifier", # required
  member_id: "WorkMailIdentifier", # required
})

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/AssociateMemberToGroup AWS API Documentation

@overload associate_member_to_group(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 395
def associate_member_to_group(params = {}, options = {})
  req = build_request(:associate_member_to_group, params)
  req.send_request(options)
end
build_request(operation_name, params = {}) click to toggle source

@param params ({}) @api private

# File lib/aws-sdk-workmail/client.rb, line 2638
def build_request(operation_name, params = {})
  handlers = @handlers.for(operation_name)
  context = Seahorse::Client::RequestContext.new(
    operation_name: operation_name,
    operation: config.api.operation(operation_name),
    client: self,
    params: params,
    config: config)
  context[:gem_name] = 'aws-sdk-workmail'
  context[:gem_version] = '1.40.0'
  Seahorse::Client::Request.new(handlers, context)
end
cancel_mailbox_export_job(params = {}, options = {}) click to toggle source

Cancels a mailbox export job.

<note markdown=“1”> If the mailbox export job is near completion, it might not be possible to cancel it.

</note>

@option params [required, String] :client_token

The idempotency token for the client request.

**A suitable default value is auto-generated.** You should normally
not need to pass this option.**

@option params [required, String] :job_id

The job ID.

@option params [required, String] :organization_id

The organization ID.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

resp = client.cancel_mailbox_export_job({
  client_token: "IdempotencyClientToken", # required
  job_id: "MailboxExportJobId", # required
  organization_id: "OrganizationId", # required
})

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/CancelMailboxExportJob AWS API Documentation

@overload cancel_mailbox_export_job(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 433
def cancel_mailbox_export_job(params = {}, options = {})
  req = build_request(:cancel_mailbox_export_job, params)
  req.send_request(options)
end
create_alias(params = {}, options = {}) click to toggle source

Adds an alias to the set of a given member (user or group) of Amazon WorkMail.

@option params [required, String] :organization_id

The organization under which the member (user or group) exists.

@option params [required, String] :entity_id

The member (user or group) to which this alias is added.

@option params [required, String] :alias

The alias to add to the member set.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

resp = client.create_alias({
  organization_id: "OrganizationId", # required
  entity_id: "WorkMailIdentifier", # required
  alias: "EmailAddress", # required
})

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/CreateAlias AWS API Documentation

@overload create_alias(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 464
def create_alias(params = {}, options = {})
  req = build_request(:create_alias, params)
  req.send_request(options)
end
create_group(params = {}, options = {}) click to toggle source

Creates a group that can be used in Amazon WorkMail by calling the RegisterToWorkMail operation.

@option params [required, String] :organization_id

The organization under which the group is to be created.

@option params [required, String] :name

The name of the group.

@return [Types::CreateGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::CreateGroupResponse#group_id #group_id} => String

@example Request syntax with placeholder values

resp = client.create_group({
  organization_id: "OrganizationId", # required
  name: "GroupName", # required
})

@example Response structure

resp.group_id #=> String

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/CreateGroup AWS API Documentation

@overload create_group(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 497
def create_group(params = {}, options = {})
  req = build_request(:create_group, params)
  req.send_request(options)
end
create_mobile_device_access_rule(params = {}, options = {}) click to toggle source

Creates a new mobile device access rule for the specified Amazon WorkMail organization.

@option params [required, String] :organization_id

The Amazon WorkMail organization under which the rule will be created.

@option params [String] :client_token

The idempotency token for the client request.

**A suitable default value is auto-generated.** You should normally
not need to pass this option.**

@option params [required, String] :name

The rule name.

@option params [String] :description

The rule description.

@option params [required, String] :effect

The effect of the rule when it matches. Allowed values are `ALLOW` or
`DENY`.

@option params [Array<String>] :device_types

Device types that the rule will match.

@option params [Array<String>] :not_device_types

Device types that the rule **will not** match. All other device types
will match.

@option params [Array<String>] :device_models

Device models that the rule will match.

@option params [Array<String>] :not_device_models

Device models that the rule **will not** match. All other device
models will match.

@option params [Array<String>] :device_operating_systems

Device operating systems that the rule will match.

@option params [Array<String>] :not_device_operating_systems

Device operating systems that the rule **will not** match. All other
device operating systems will match.

@option params [Array<String>] :device_user_agents

Device user agents that the rule will match.

@option params [Array<String>] :not_device_user_agents

Device user agents that the rule **will not** match. All other device
user agents will match.

@return [Types::CreateMobileDeviceAccessRuleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::CreateMobileDeviceAccessRuleResponse#mobile_device_access_rule_id #mobile_device_access_rule_id} => String

@example Request syntax with placeholder values

resp = client.create_mobile_device_access_rule({
  organization_id: "OrganizationId", # required
  client_token: "IdempotencyClientToken",
  name: "MobileDeviceAccessRuleName", # required
  description: "MobileDeviceAccessRuleDescription",
  effect: "ALLOW", # required, accepts ALLOW, DENY
  device_types: ["DeviceType"],
  not_device_types: ["DeviceType"],
  device_models: ["DeviceModel"],
  not_device_models: ["DeviceModel"],
  device_operating_systems: ["DeviceOperatingSystem"],
  not_device_operating_systems: ["DeviceOperatingSystem"],
  device_user_agents: ["DeviceUserAgent"],
  not_device_user_agents: ["DeviceUserAgent"],
})

@example Response structure

resp.mobile_device_access_rule_id #=> String

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/CreateMobileDeviceAccessRule AWS API Documentation

@overload create_mobile_device_access_rule(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 582
def create_mobile_device_access_rule(params = {}, options = {})
  req = build_request(:create_mobile_device_access_rule, params)
  req.send_request(options)
end
create_organization(params = {}, options = {}) click to toggle source

Creates a new Amazon WorkMail organization. Optionally, you can choose to associate an existing AWS Directory Service directory with your organization. If an AWS Directory Service directory ID is specified, the organization alias must match the directory alias. If you choose not to associate an existing directory with your organization, then we create a new Amazon WorkMail directory for you. For more information, see [Adding an organization] in the *Amazon WorkMail Administrator Guide*.

You can associate multiple email domains with an organization, then set your default email domain from the Amazon WorkMail console. You can also associate a domain that is managed in an Amazon Route 53 public hosted zone. For more information, see [Adding a domain] and

Choosing the default domain][3

in the *Amazon WorkMail Administrator

Guide*.

Optionally, you can use a customer managed master key from AWS Key Management Service (AWS KMS) to encrypt email for your organization. If you don't associate an AWS KMS key, Amazon WorkMail creates a default AWS managed master key for you.

[1]: docs.aws.amazon.com/workmail/latest/adminguide/add_new_organization.html [2]: docs.aws.amazon.com/workmail/latest/adminguide/add_domain.html [3]: docs.aws.amazon.com/workmail/latest/adminguide/default_domain.html

@option params [String] :directory_id

The AWS Directory Service directory ID.

@option params [required, String] :alias

The organization alias.

@option params [String] :client_token

The idempotency token associated with the request.

**A suitable default value is auto-generated.** You should normally
not need to pass this option.**

@option params [Array<Types::Domain>] :domains

The email domains to associate with the organization.

@option params [String] :kms_key_arn

The Amazon Resource Name (ARN) of a customer managed master key from
AWS KMS.

@option params [Boolean] :enable_interoperability

When `true`, allows organization interoperability between Amazon
WorkMail and Microsoft Exchange. Can only be set to `true` if an AD
Connector directory ID is included in the request.

@return [Types::CreateOrganizationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::CreateOrganizationResponse#organization_id #organization_id} => String

@example Request syntax with placeholder values

resp = client.create_organization({
  directory_id: "DirectoryId",
  alias: "OrganizationName", # required
  client_token: "IdempotencyClientToken",
  domains: [
    {
      domain_name: "DomainName",
      hosted_zone_id: "HostedZoneId",
    },
  ],
  kms_key_arn: "KmsKeyArn",
  enable_interoperability: false,
})

@example Response structure

resp.organization_id #=> String

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/CreateOrganization AWS API Documentation

@overload create_organization(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 666
def create_organization(params = {}, options = {})
  req = build_request(:create_organization, params)
  req.send_request(options)
end
create_resource(params = {}, options = {}) click to toggle source

Creates a new Amazon WorkMail resource.

@option params [required, String] :organization_id

The identifier associated with the organization for which the resource
is created.

@option params [required, String] :name

The name of the new resource.

@option params [required, String] :type

The type of the new resource. The available types are `equipment` and
`room`.

@return [Types::CreateResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::CreateResourceResponse#resource_id #resource_id} => String

@example Request syntax with placeholder values

resp = client.create_resource({
  organization_id: "OrganizationId", # required
  name: "ResourceName", # required
  type: "ROOM", # required, accepts ROOM, EQUIPMENT
})

@example Response structure

resp.resource_id #=> String

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/CreateResource AWS API Documentation

@overload create_resource(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 704
def create_resource(params = {}, options = {})
  req = build_request(:create_resource, params)
  req.send_request(options)
end
create_user(params = {}, options = {}) click to toggle source

Creates a user who can be used in Amazon WorkMail by calling the RegisterToWorkMail operation.

@option params [required, String] :organization_id

The identifier of the organization for which the user is created.

@option params [required, String] :name

The name for the new user. WorkMail directory user names have a
maximum length of 64. All others have a maximum length of 20.

@option params [required, String] :display_name

The display name for the new user.

@option params [required, String] :password

The password for the new user.

@return [Types::CreateUserResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::CreateUserResponse#user_id #user_id} => String

@example Request syntax with placeholder values

resp = client.create_user({
  organization_id: "OrganizationId", # required
  name: "UserName", # required
  display_name: "String", # required
  password: "Password", # required
})

@example Response structure

resp.user_id #=> String

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/CreateUser AWS API Documentation

@overload create_user(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 746
def create_user(params = {}, options = {})
  req = build_request(:create_user, params)
  req.send_request(options)
end
delete_access_control_rule(params = {}, options = {}) click to toggle source

Deletes an access control rule for the specified WorkMail organization.

@option params [required, String] :organization_id

The identifier for the organization.

@option params [required, String] :name

The name of the access control rule.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

resp = client.delete_access_control_rule({
  organization_id: "OrganizationId", # required
  name: "AccessControlRuleName", # required
})

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteAccessControlRule AWS API Documentation

@overload delete_access_control_rule(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 773
def delete_access_control_rule(params = {}, options = {})
  req = build_request(:delete_access_control_rule, params)
  req.send_request(options)
end
delete_alias(params = {}, options = {}) click to toggle source

Remove one or more specified aliases from a set of aliases for a given user.

@option params [required, String] :organization_id

The identifier for the organization under which the user exists.

@option params [required, String] :entity_id

The identifier for the member (user or group) from which to have the
aliases removed.

@option params [required, String] :alias

The aliases to be removed from the user's set of aliases. Duplicate
entries in the list are collapsed into single entries (the list is
transformed into a set).

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

resp = client.delete_alias({
  organization_id: "OrganizationId", # required
  entity_id: "WorkMailIdentifier", # required
  alias: "EmailAddress", # required
})

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteAlias AWS API Documentation

@overload delete_alias(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 807
def delete_alias(params = {}, options = {})
  req = build_request(:delete_alias, params)
  req.send_request(options)
end
delete_group(params = {}, options = {}) click to toggle source

Deletes a group from Amazon WorkMail.

@option params [required, String] :organization_id

The organization that contains the group.

@option params [required, String] :group_id

The identifier of the group to be deleted.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

resp = client.delete_group({
  organization_id: "OrganizationId", # required
  group_id: "WorkMailIdentifier", # required
})

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteGroup AWS API Documentation

@overload delete_group(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 833
def delete_group(params = {}, options = {})
  req = build_request(:delete_group, params)
  req.send_request(options)
end
delete_mailbox_permissions(params = {}, options = {}) click to toggle source

Deletes permissions granted to a member (user or group).

@option params [required, String] :organization_id

The identifier of the organization under which the member (user or
group) exists.

@option params [required, String] :entity_id

The identifier of the member (user or group) that owns the mailbox.

@option params [required, String] :grantee_id

The identifier of the member (user or group) for which to delete
granted permissions.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

resp = client.delete_mailbox_permissions({
  organization_id: "OrganizationId", # required
  entity_id: "WorkMailIdentifier", # required
  grantee_id: "WorkMailIdentifier", # required
})

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteMailboxPermissions AWS API Documentation

@overload delete_mailbox_permissions(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 865
def delete_mailbox_permissions(params = {}, options = {})
  req = build_request(:delete_mailbox_permissions, params)
  req.send_request(options)
end
delete_mobile_device_access_rule(params = {}, options = {}) click to toggle source

Deletes a mobile device access rule for the specified Amazon WorkMail organization.

@option params [required, String] :organization_id

The Amazon WorkMail organization under which the rule will be deleted.

@option params [required, String] :mobile_device_access_rule_id

The identifier of the rule to be deleted.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

resp = client.delete_mobile_device_access_rule({
  organization_id: "OrganizationId", # required
  mobile_device_access_rule_id: "MobileDeviceAccessRuleId", # required
})

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteMobileDeviceAccessRule AWS API Documentation

@overload delete_mobile_device_access_rule(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 892
def delete_mobile_device_access_rule(params = {}, options = {})
  req = build_request(:delete_mobile_device_access_rule, params)
  req.send_request(options)
end
delete_organization(params = {}, options = {}) click to toggle source

Deletes an Amazon WorkMail organization and all underlying AWS resources managed by Amazon WorkMail as part of the organization. You can choose whether to delete the associated directory. For more information, see [Removing an organization] in the *Amazon WorkMail Administrator Guide*.

[1]: docs.aws.amazon.com/workmail/latest/adminguide/remove_organization.html

@option params [String] :client_token

The idempotency token associated with the request.

**A suitable default value is auto-generated.** You should normally
not need to pass this option.**

@option params [required, String] :organization_id

The organization ID.

@option params [required, Boolean] :delete_directory

If true, deletes the AWS Directory Service directory associated with
the organization.

@return [Types::DeleteOrganizationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::DeleteOrganizationResponse#organization_id #organization_id} => String
* {Types::DeleteOrganizationResponse#state #state} => String

@example Request syntax with placeholder values

resp = client.delete_organization({
  client_token: "IdempotencyClientToken",
  organization_id: "OrganizationId", # required
  delete_directory: false, # required
})

@example Response structure

resp.organization_id #=> String
resp.state #=> String

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteOrganization AWS API Documentation

@overload delete_organization(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 942
def delete_organization(params = {}, options = {})
  req = build_request(:delete_organization, params)
  req.send_request(options)
end
delete_resource(params = {}, options = {}) click to toggle source

Deletes the specified resource.

@option params [required, String] :organization_id

The identifier associated with the organization from which the
resource is deleted.

@option params [required, String] :resource_id

The identifier of the resource to be deleted.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

resp = client.delete_resource({
  organization_id: "OrganizationId", # required
  resource_id: "ResourceId", # required
})

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteResource AWS API Documentation

@overload delete_resource(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 969
def delete_resource(params = {}, options = {})
  req = build_request(:delete_resource, params)
  req.send_request(options)
end
delete_retention_policy(params = {}, options = {}) click to toggle source

Deletes the specified retention policy from the specified organization.

@option params [required, String] :organization_id

The organization ID.

@option params [required, String] :id

The retention policy ID.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

resp = client.delete_retention_policy({
  organization_id: "OrganizationId", # required
  id: "ShortString", # required
})

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteRetentionPolicy AWS API Documentation

@overload delete_retention_policy(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 996
def delete_retention_policy(params = {}, options = {})
  req = build_request(:delete_retention_policy, params)
  req.send_request(options)
end
delete_user(params = {}, options = {}) click to toggle source

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.

@option params [required, String] :organization_id

The organization that contains the user to be deleted.

@option params [required, String] :user_id

The identifier of the user to be deleted.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

resp = client.delete_user({
  organization_id: "OrganizationId", # required
  user_id: "WorkMailIdentifier", # required
})

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteUser AWS API Documentation

@overload delete_user(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 1027
def delete_user(params = {}, options = {})
  req = build_request(:delete_user, params)
  req.send_request(options)
end
deregister_from_work_mail(params = {}, options = {}) click to toggle source

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.

@option params [required, String] :organization_id

The identifier for the organization under which the Amazon WorkMail
entity exists.

@option params [required, String] :entity_id

The identifier for the member (user or group) to be updated.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

resp = client.deregister_from_work_mail({
  organization_id: "OrganizationId", # required
  entity_id: "WorkMailIdentifier", # required
})

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeregisterFromWorkMail AWS API Documentation

@overload deregister_from_work_mail(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 1057
def deregister_from_work_mail(params = {}, options = {})
  req = build_request(:deregister_from_work_mail, params)
  req.send_request(options)
end
describe_group(params = {}, options = {}) click to toggle source

Returns the data available for the group.

@option params [required, String] :organization_id

The identifier for the organization under which the group exists.

@option params [required, String] :group_id

The identifier for the group to be described.

@return [Types::DescribeGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::DescribeGroupResponse#group_id #group_id} => String
* {Types::DescribeGroupResponse#name #name} => String
* {Types::DescribeGroupResponse#email #email} => String
* {Types::DescribeGroupResponse#state #state} => String
* {Types::DescribeGroupResponse#enabled_date #enabled_date} => Time
* {Types::DescribeGroupResponse#disabled_date #disabled_date} => Time

@example Request syntax with placeholder values

resp = client.describe_group({
  organization_id: "OrganizationId", # required
  group_id: "WorkMailIdentifier", # required
})

@example Response structure

resp.group_id #=> String
resp.name #=> String
resp.email #=> String
resp.state #=> String, one of "ENABLED", "DISABLED", "DELETED"
resp.enabled_date #=> Time
resp.disabled_date #=> Time

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DescribeGroup AWS API Documentation

@overload describe_group(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 1099
def describe_group(params = {}, options = {})
  req = build_request(:describe_group, params)
  req.send_request(options)
end
describe_mailbox_export_job(params = {}, options = {}) click to toggle source

Describes the current status of a mailbox export job.

@option params [required, String] :job_id

The mailbox export job ID.

@option params [required, String] :organization_id

The organization ID.

@return [Types::DescribeMailboxExportJobResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::DescribeMailboxExportJobResponse#entity_id #entity_id} => String
* {Types::DescribeMailboxExportJobResponse#description #description} => String
* {Types::DescribeMailboxExportJobResponse#role_arn #role_arn} => String
* {Types::DescribeMailboxExportJobResponse#kms_key_arn #kms_key_arn} => String
* {Types::DescribeMailboxExportJobResponse#s3_bucket_name #s3_bucket_name} => String
* {Types::DescribeMailboxExportJobResponse#s3_prefix #s3_prefix} => String
* {Types::DescribeMailboxExportJobResponse#s3_path #s3_path} => String
* {Types::DescribeMailboxExportJobResponse#estimated_progress #estimated_progress} => Integer
* {Types::DescribeMailboxExportJobResponse#state #state} => String
* {Types::DescribeMailboxExportJobResponse#error_info #error_info} => String
* {Types::DescribeMailboxExportJobResponse#start_time #start_time} => Time
* {Types::DescribeMailboxExportJobResponse#end_time #end_time} => Time

@example Request syntax with placeholder values

resp = client.describe_mailbox_export_job({
  job_id: "MailboxExportJobId", # required
  organization_id: "OrganizationId", # required
})

@example Response structure

resp.entity_id #=> String
resp.description #=> String
resp.role_arn #=> String
resp.kms_key_arn #=> String
resp.s3_bucket_name #=> String
resp.s3_prefix #=> String
resp.s3_path #=> String
resp.estimated_progress #=> Integer
resp.state #=> String, one of "RUNNING", "COMPLETED", "FAILED", "CANCELLED"
resp.error_info #=> String
resp.start_time #=> Time
resp.end_time #=> Time

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DescribeMailboxExportJob AWS API Documentation

@overload describe_mailbox_export_job(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 1153
def describe_mailbox_export_job(params = {}, options = {})
  req = build_request(:describe_mailbox_export_job, params)
  req.send_request(options)
end
describe_organization(params = {}, options = {}) click to toggle source

Provides more information regarding a given organization based on its identifier.

@option params [required, String] :organization_id

The identifier for the organization to be described.

@return [Types::DescribeOrganizationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::DescribeOrganizationResponse#organization_id #organization_id} => String
* {Types::DescribeOrganizationResponse#alias #alias} => String
* {Types::DescribeOrganizationResponse#state #state} => String
* {Types::DescribeOrganizationResponse#directory_id #directory_id} => String
* {Types::DescribeOrganizationResponse#directory_type #directory_type} => String
* {Types::DescribeOrganizationResponse#default_mail_domain #default_mail_domain} => String
* {Types::DescribeOrganizationResponse#completed_date #completed_date} => Time
* {Types::DescribeOrganizationResponse#error_message #error_message} => String
* {Types::DescribeOrganizationResponse#arn #arn} => String

@example Request syntax with placeholder values

resp = client.describe_organization({
  organization_id: "OrganizationId", # required
})

@example Response structure

resp.organization_id #=> String
resp.alias #=> String
resp.state #=> String
resp.directory_id #=> String
resp.directory_type #=> String
resp.default_mail_domain #=> String
resp.completed_date #=> Time
resp.error_message #=> String
resp.arn #=> String

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DescribeOrganization AWS API Documentation

@overload describe_organization(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 1198
def describe_organization(params = {}, options = {})
  req = build_request(:describe_organization, params)
  req.send_request(options)
end
describe_resource(params = {}, options = {}) click to toggle source

Returns the data available for the resource.

@option params [required, String] :organization_id

The identifier associated with the organization for which the resource
is described.

@option params [required, String] :resource_id

The identifier of the resource to be described.

@return [Types::DescribeResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::DescribeResourceResponse#resource_id #resource_id} => String
* {Types::DescribeResourceResponse#email #email} => String
* {Types::DescribeResourceResponse#name #name} => String
* {Types::DescribeResourceResponse#type #type} => String
* {Types::DescribeResourceResponse#booking_options #booking_options} => Types::BookingOptions
* {Types::DescribeResourceResponse#state #state} => String
* {Types::DescribeResourceResponse#enabled_date #enabled_date} => Time
* {Types::DescribeResourceResponse#disabled_date #disabled_date} => Time

@example Request syntax with placeholder values

resp = client.describe_resource({
  organization_id: "OrganizationId", # required
  resource_id: "ResourceId", # required
})

@example Response structure

resp.resource_id #=> String
resp.email #=> String
resp.name #=> String
resp.type #=> String, one of "ROOM", "EQUIPMENT"
resp.booking_options.auto_accept_requests #=> Boolean
resp.booking_options.auto_decline_recurring_requests #=> Boolean
resp.booking_options.auto_decline_conflicting_requests #=> Boolean
resp.state #=> String, one of "ENABLED", "DISABLED", "DELETED"
resp.enabled_date #=> Time
resp.disabled_date #=> Time

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DescribeResource AWS API Documentation

@overload describe_resource(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 1247
def describe_resource(params = {}, options = {})
  req = build_request(:describe_resource, params)
  req.send_request(options)
end
describe_user(params = {}, options = {}) click to toggle source

Provides information regarding the user.

@option params [required, String] :organization_id

The identifier for the organization under which the user exists.

@option params [required, String] :user_id

The identifier for the user to be described.

@return [Types::DescribeUserResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::DescribeUserResponse#user_id #user_id} => String
* {Types::DescribeUserResponse#name #name} => String
* {Types::DescribeUserResponse#email #email} => String
* {Types::DescribeUserResponse#display_name #display_name} => String
* {Types::DescribeUserResponse#state #state} => String
* {Types::DescribeUserResponse#user_role #user_role} => String
* {Types::DescribeUserResponse#enabled_date #enabled_date} => Time
* {Types::DescribeUserResponse#disabled_date #disabled_date} => Time

@example Request syntax with placeholder values

resp = client.describe_user({
  organization_id: "OrganizationId", # required
  user_id: "WorkMailIdentifier", # required
})

@example Response structure

resp.user_id #=> String
resp.name #=> String
resp.email #=> String
resp.display_name #=> String
resp.state #=> String, one of "ENABLED", "DISABLED", "DELETED"
resp.user_role #=> String, one of "USER", "RESOURCE", "SYSTEM_USER"
resp.enabled_date #=> Time
resp.disabled_date #=> Time

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DescribeUser AWS API Documentation

@overload describe_user(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 1293
def describe_user(params = {}, options = {})
  req = build_request(:describe_user, params)
  req.send_request(options)
end
disassociate_delegate_from_resource(params = {}, options = {}) click to toggle source

Removes a member from the resource's set of delegates.

@option params [required, String] :organization_id

The identifier for the organization under which the resource exists.

@option params [required, String] :resource_id

The identifier of the resource from which delegates' set members are
removed.

@option params [required, String] :entity_id

The identifier for the member (user, group) to be removed from the
resource's delegates.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

resp = client.disassociate_delegate_from_resource({
  organization_id: "OrganizationId", # required
  resource_id: "ResourceId", # required
  entity_id: "WorkMailIdentifier", # required
})

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DisassociateDelegateFromResource AWS API Documentation

@overload disassociate_delegate_from_resource(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 1325
def disassociate_delegate_from_resource(params = {}, options = {})
  req = build_request(:disassociate_delegate_from_resource, params)
  req.send_request(options)
end
disassociate_member_from_group(params = {}, options = {}) click to toggle source

Removes a member from a group.

@option params [required, String] :organization_id

The identifier for the organization under which the group exists.

@option params [required, String] :group_id

The identifier for the group from which members are removed.

@option params [required, String] :member_id

The identifier for the member to be removed to the group.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

resp = client.disassociate_member_from_group({
  organization_id: "OrganizationId", # required
  group_id: "WorkMailIdentifier", # required
  member_id: "WorkMailIdentifier", # required
})

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DisassociateMemberFromGroup AWS API Documentation

@overload disassociate_member_from_group(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 1355
def disassociate_member_from_group(params = {}, options = {})
  req = build_request(:disassociate_member_from_group, params)
  req.send_request(options)
end
get_access_control_effect(params = {}, options = {}) click to toggle source

Gets the effects of an organization's access control rules as they apply to a specified IPv4 address, access protocol action, or user ID.

@option params [required, String] :organization_id

The identifier for the organization.

@option params [required, String] :ip_address

The IPv4 address.

@option params [required, String] :action

The access protocol action. Valid values include `ActiveSync`,
`AutoDiscover`, `EWS`, `IMAP`, `SMTP`, `WindowsOutlook`, and
`WebMail`.

@option params [required, String] :user_id

The user ID.

@return [Types::GetAccessControlEffectResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::GetAccessControlEffectResponse#effect #effect} => String
* {Types::GetAccessControlEffectResponse#matched_rules #matched_rules} => Array&lt;String&gt;

@example Request syntax with placeholder values

resp = client.get_access_control_effect({
  organization_id: "OrganizationId", # required
  ip_address: "IpAddress", # required
  action: "AccessControlRuleAction", # required
  user_id: "WorkMailIdentifier", # required
})

@example Response structure

resp.effect #=> String, one of "ALLOW", "DENY"
resp.matched_rules #=> Array
resp.matched_rules[0] #=> String

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/GetAccessControlEffect AWS API Documentation

@overload get_access_control_effect(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 1401
def get_access_control_effect(params = {}, options = {})
  req = build_request(:get_access_control_effect, params)
  req.send_request(options)
end
get_default_retention_policy(params = {}, options = {}) click to toggle source

Gets the default retention policy details for the specified organization.

@option params [required, String] :organization_id

The organization ID.

@return [Types::GetDefaultRetentionPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::GetDefaultRetentionPolicyResponse#id #id} => String
* {Types::GetDefaultRetentionPolicyResponse#name #name} => String
* {Types::GetDefaultRetentionPolicyResponse#description #description} => String
* {Types::GetDefaultRetentionPolicyResponse#folder_configurations #folder_configurations} => Array&lt;Types::FolderConfiguration&gt;

@example Request syntax with placeholder values

resp = client.get_default_retention_policy({
  organization_id: "OrganizationId", # required
})

@example Response structure

resp.id #=> String
resp.name #=> String
resp.description #=> String
resp.folder_configurations #=> Array
resp.folder_configurations[0].name #=> String, one of "INBOX", "DELETED_ITEMS", "SENT_ITEMS", "DRAFTS", "JUNK_EMAIL"
resp.folder_configurations[0].action #=> String, one of "NONE", "DELETE", "PERMANENTLY_DELETE"
resp.folder_configurations[0].period #=> Integer

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/GetDefaultRetentionPolicy AWS API Documentation

@overload get_default_retention_policy(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 1439
def get_default_retention_policy(params = {}, options = {})
  req = build_request(:get_default_retention_policy, params)
  req.send_request(options)
end
get_mailbox_details(params = {}, options = {}) click to toggle source

Requests a user's mailbox details for a specified organization and user.

@option params [required, String] :organization_id

The identifier for the organization that contains the user whose
mailbox details are being requested.

@option params [required, String] :user_id

The identifier for the user whose mailbox details are being requested.

@return [Types::GetMailboxDetailsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::GetMailboxDetailsResponse#mailbox_quota #mailbox_quota} => Integer
* {Types::GetMailboxDetailsResponse#mailbox_size #mailbox_size} => Float

@example Request syntax with placeholder values

resp = client.get_mailbox_details({
  organization_id: "OrganizationId", # required
  user_id: "WorkMailIdentifier", # required
})

@example Response structure

resp.mailbox_quota #=> Integer
resp.mailbox_size #=> Float

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/GetMailboxDetails AWS API Documentation

@overload get_mailbox_details(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 1475
def get_mailbox_details(params = {}, options = {})
  req = build_request(:get_mailbox_details, params)
  req.send_request(options)
end
get_mobile_device_access_effect(params = {}, options = {}) click to toggle source

Simulates the effect of the mobile device access rules for the given attributes of a sample access event. Use this method to test the effects of the current set of mobile device access rules for the Amazon WorkMail organization for a particular user's attributes.

@option params [required, String] :organization_id

The Amazon WorkMail organization to simulate the access effect for.

@option params [String] :device_type

Device type the simulated user will report.

@option params [String] :device_model

Device model the simulated user will report.

@option params [String] :device_operating_system

Device operating system the simulated user will report.

@option params [String] :device_user_agent

Device user agent the simulated user will report.

@return [Types::GetMobileDeviceAccessEffectResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::GetMobileDeviceAccessEffectResponse#effect #effect} => String
* {Types::GetMobileDeviceAccessEffectResponse#matched_rules #matched_rules} => Array&lt;Types::MobileDeviceAccessMatchedRule&gt;

@example Request syntax with placeholder values

resp = client.get_mobile_device_access_effect({
  organization_id: "OrganizationId", # required
  device_type: "DeviceType",
  device_model: "DeviceModel",
  device_operating_system: "DeviceOperatingSystem",
  device_user_agent: "DeviceUserAgent",
})

@example Response structure

resp.effect #=> String, one of "ALLOW", "DENY"
resp.matched_rules #=> Array
resp.matched_rules[0].mobile_device_access_rule_id #=> String
resp.matched_rules[0].name #=> String

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/GetMobileDeviceAccessEffect AWS API Documentation

@overload get_mobile_device_access_effect(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 1526
def get_mobile_device_access_effect(params = {}, options = {})
  req = build_request(:get_mobile_device_access_effect, params)
  req.send_request(options)
end
list_access_control_rules(params = {}, options = {}) click to toggle source

Lists the access control rules for the specified organization.

@option params [required, String] :organization_id

The identifier for the organization.

@return [Types::ListAccessControlRulesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::ListAccessControlRulesResponse#rules #rules} => Array&lt;Types::AccessControlRule&gt;

@example Request syntax with placeholder values

resp = client.list_access_control_rules({
  organization_id: "OrganizationId", # required
})

@example Response structure

resp.rules #=> Array
resp.rules[0].name #=> String
resp.rules[0].effect #=> String, one of "ALLOW", "DENY"
resp.rules[0].description #=> String
resp.rules[0].ip_ranges #=> Array
resp.rules[0].ip_ranges[0] #=> String
resp.rules[0].not_ip_ranges #=> Array
resp.rules[0].not_ip_ranges[0] #=> String
resp.rules[0].actions #=> Array
resp.rules[0].actions[0] #=> String
resp.rules[0].not_actions #=> Array
resp.rules[0].not_actions[0] #=> String
resp.rules[0].user_ids #=> Array
resp.rules[0].user_ids[0] #=> String
resp.rules[0].not_user_ids #=> Array
resp.rules[0].not_user_ids[0] #=> String
resp.rules[0].date_created #=> Time
resp.rules[0].date_modified #=> Time

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListAccessControlRules AWS API Documentation

@overload list_access_control_rules(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 1571
def list_access_control_rules(params = {}, options = {})
  req = build_request(:list_access_control_rules, params)
  req.send_request(options)
end
list_aliases(params = {}, options = {}) click to toggle source

Creates a paginated call to list the aliases associated with a given entity.

@option params [required, String] :organization_id

The identifier for the organization under which the entity exists.

@option params [required, String] :entity_id

The identifier for the entity for which to list the aliases.

@option params [String] :next_token

The token to use to retrieve the next page of results. The first call
does not contain any tokens.

@option params [Integer] :max_results

The maximum number of results to return in a single call.

@return [Types::ListAliasesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::ListAliasesResponse#aliases #aliases} => Array&lt;String&gt;
* {Types::ListAliasesResponse#next_token #next_token} => String

The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.

@example Request syntax with placeholder values

resp = client.list_aliases({
  organization_id: "OrganizationId", # required
  entity_id: "WorkMailIdentifier", # required
  next_token: "NextToken",
  max_results: 1,
})

@example Response structure

resp.aliases #=> Array
resp.aliases[0] #=> String
resp.next_token #=> String

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListAliases AWS API Documentation

@overload list_aliases(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 1618
def list_aliases(params = {}, options = {})
  req = build_request(:list_aliases, params)
  req.send_request(options)
end
list_group_members(params = {}, options = {}) click to toggle source

Returns an overview of the members of a group. Users and groups can be members of a group.

@option params [required, String] :organization_id

The identifier for the organization under which the group exists.

@option params [required, String] :group_id

The identifier for the group to which the members (users or groups)
are associated.

@option params [String] :next_token

The token to use to retrieve the next page of results. The first call
does not contain any tokens.

@option params [Integer] :max_results

The maximum number of results to return in a single call.

@return [Types::ListGroupMembersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::ListGroupMembersResponse#members #members} => Array&lt;Types::Member&gt;
* {Types::ListGroupMembersResponse#next_token #next_token} => String

The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.

@example Request syntax with placeholder values

resp = client.list_group_members({
  organization_id: "OrganizationId", # required
  group_id: "WorkMailIdentifier", # required
  next_token: "NextToken",
  max_results: 1,
})

@example Response structure

resp.members #=> Array
resp.members[0].id #=> String
resp.members[0].name #=> String
resp.members[0].type #=> String, one of "GROUP", "USER"
resp.members[0].state #=> String, one of "ENABLED", "DISABLED", "DELETED"
resp.members[0].enabled_date #=> Time
resp.members[0].disabled_date #=> Time
resp.next_token #=> String

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListGroupMembers AWS API Documentation

@overload list_group_members(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 1671
def list_group_members(params = {}, options = {})
  req = build_request(:list_group_members, params)
  req.send_request(options)
end
list_groups(params = {}, options = {}) click to toggle source

Returns summaries of the organization's groups.

@option params [required, String] :organization_id

The identifier for the organization under which the groups exist.

@option params [String] :next_token

The token to use to retrieve the next page of results. The first call
does not contain any tokens.

@option params [Integer] :max_results

The maximum number of results to return in a single call.

@return [Types::ListGroupsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::ListGroupsResponse#groups #groups} => Array&lt;Types::Group&gt;
* {Types::ListGroupsResponse#next_token #next_token} => String

The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.

@example Request syntax with placeholder values

resp = client.list_groups({
  organization_id: "OrganizationId", # required
  next_token: "NextToken",
  max_results: 1,
})

@example Response structure

resp.groups #=> Array
resp.groups[0].id #=> String
resp.groups[0].email #=> String
resp.groups[0].name #=> String
resp.groups[0].state #=> String, one of "ENABLED", "DISABLED", "DELETED"
resp.groups[0].enabled_date #=> Time
resp.groups[0].disabled_date #=> Time
resp.next_token #=> String

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListGroups AWS API Documentation

@overload list_groups(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 1718
def list_groups(params = {}, options = {})
  req = build_request(:list_groups, params)
  req.send_request(options)
end
list_mailbox_export_jobs(params = {}, options = {}) click to toggle source

Lists the mailbox export jobs started for the specified organization within the last seven days.

@option params [required, String] :organization_id

The organization ID.

@option params [String] :next_token

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

@option params [Integer] :max_results

The maximum number of results to return in a single call.

@return [Types::ListMailboxExportJobsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::ListMailboxExportJobsResponse#jobs #jobs} => Array&lt;Types::MailboxExportJob&gt;
* {Types::ListMailboxExportJobsResponse#next_token #next_token} => String

The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.

@example Request syntax with placeholder values

resp = client.list_mailbox_export_jobs({
  organization_id: "OrganizationId", # required
  next_token: "NextToken",
  max_results: 1,
})

@example Response structure

resp.jobs #=> Array
resp.jobs[0].job_id #=> String
resp.jobs[0].entity_id #=> String
resp.jobs[0].description #=> String
resp.jobs[0].s3_bucket_name #=> String
resp.jobs[0].s3_path #=> String
resp.jobs[0].estimated_progress #=> Integer
resp.jobs[0].state #=> String, one of "RUNNING", "COMPLETED", "FAILED", "CANCELLED"
resp.jobs[0].start_time #=> Time
resp.jobs[0].end_time #=> Time
resp.next_token #=> String

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListMailboxExportJobs AWS API Documentation

@overload list_mailbox_export_jobs(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 1768
def list_mailbox_export_jobs(params = {}, options = {})
  req = build_request(:list_mailbox_export_jobs, params)
  req.send_request(options)
end
list_mailbox_permissions(params = {}, options = {}) click to toggle source

Lists the mailbox permissions associated with a user, group, or resource mailbox.

@option params [required, String] :organization_id

The identifier of the organization under which the user, group, or
resource exists.

@option params [required, String] :entity_id

The identifier of the user, group, or resource for which to list
mailbox permissions.

@option params [String] :next_token

The token to use to retrieve the next page of results. The first call
does not contain any tokens.

@option params [Integer] :max_results

The maximum number of results to return in a single call.

@return [Types::ListMailboxPermissionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::ListMailboxPermissionsResponse#permissions #permissions} => Array&lt;Types::Permission&gt;
* {Types::ListMailboxPermissionsResponse#next_token #next_token} => String

The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.

@example Request syntax with placeholder values

resp = client.list_mailbox_permissions({
  organization_id: "OrganizationId", # required
  entity_id: "WorkMailIdentifier", # required
  next_token: "NextToken",
  max_results: 1,
})

@example Response structure

resp.permissions #=> Array
resp.permissions[0].grantee_id #=> String
resp.permissions[0].grantee_type #=> String, one of "GROUP", "USER"
resp.permissions[0].permission_values #=> Array
resp.permissions[0].permission_values[0] #=> String, one of "FULL_ACCESS", "SEND_AS", "SEND_ON_BEHALF"
resp.next_token #=> String

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListMailboxPermissions AWS API Documentation

@overload list_mailbox_permissions(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 1820
def list_mailbox_permissions(params = {}, options = {})
  req = build_request(:list_mailbox_permissions, params)
  req.send_request(options)
end
list_mobile_device_access_rules(params = {}, options = {}) click to toggle source

Lists the mobile device access rules for the specified Amazon WorkMail organization.

@option params [required, String] :organization_id

The Amazon WorkMail organization for which to list the rules.

@return [Types::ListMobileDeviceAccessRulesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::ListMobileDeviceAccessRulesResponse#rules #rules} => Array&lt;Types::MobileDeviceAccessRule&gt;

@example Request syntax with placeholder values

resp = client.list_mobile_device_access_rules({
  organization_id: "OrganizationId", # required
})

@example Response structure

resp.rules #=> Array
resp.rules[0].mobile_device_access_rule_id #=> String
resp.rules[0].name #=> String
resp.rules[0].description #=> String
resp.rules[0].effect #=> String, one of "ALLOW", "DENY"
resp.rules[0].device_types #=> Array
resp.rules[0].device_types[0] #=> String
resp.rules[0].not_device_types #=> Array
resp.rules[0].not_device_types[0] #=> String
resp.rules[0].device_models #=> Array
resp.rules[0].device_models[0] #=> String
resp.rules[0].not_device_models #=> Array
resp.rules[0].not_device_models[0] #=> String
resp.rules[0].device_operating_systems #=> Array
resp.rules[0].device_operating_systems[0] #=> String
resp.rules[0].not_device_operating_systems #=> Array
resp.rules[0].not_device_operating_systems[0] #=> String
resp.rules[0].device_user_agents #=> Array
resp.rules[0].device_user_agents[0] #=> String
resp.rules[0].not_device_user_agents #=> Array
resp.rules[0].not_device_user_agents[0] #=> String
resp.rules[0].date_created #=> Time
resp.rules[0].date_modified #=> Time

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListMobileDeviceAccessRules AWS API Documentation

@overload list_mobile_device_access_rules(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 1871
def list_mobile_device_access_rules(params = {}, options = {})
  req = build_request(:list_mobile_device_access_rules, params)
  req.send_request(options)
end
list_organizations(params = {}, options = {}) click to toggle source

Returns summaries of the customer's organizations.

@option params [String] :next_token

The token to use to retrieve the next page of results. The first call
does not contain any tokens.

@option params [Integer] :max_results

The maximum number of results to return in a single call.

@return [Types::ListOrganizationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::ListOrganizationsResponse#organization_summaries #organization_summaries} => Array&lt;Types::OrganizationSummary&gt;
* {Types::ListOrganizationsResponse#next_token #next_token} => String

The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.

@example Request syntax with placeholder values

resp = client.list_organizations({
  next_token: "NextToken",
  max_results: 1,
})

@example Response structure

resp.organization_summaries #=> Array
resp.organization_summaries[0].organization_id #=> String
resp.organization_summaries[0].alias #=> String
resp.organization_summaries[0].default_mail_domain #=> String
resp.organization_summaries[0].error_message #=> String
resp.organization_summaries[0].state #=> String
resp.next_token #=> String

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListOrganizations AWS API Documentation

@overload list_organizations(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 1913
def list_organizations(params = {}, options = {})
  req = build_request(:list_organizations, params)
  req.send_request(options)
end
list_resource_delegates(params = {}, options = {}) click to toggle source

Lists the delegates associated with a resource. Users and groups can be resource delegates and answer requests on behalf of the resource.

@option params [required, String] :organization_id

The identifier for the organization that contains the resource for
which delegates are listed.

@option params [required, String] :resource_id

The identifier for the resource whose delegates are listed.

@option params [String] :next_token

The token used to paginate through the delegates associated with a
resource.

@option params [Integer] :max_results

The number of maximum results in a page.

@return [Types::ListResourceDelegatesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::ListResourceDelegatesResponse#delegates #delegates} => Array&lt;Types::Delegate&gt;
* {Types::ListResourceDelegatesResponse#next_token #next_token} => String

The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.

@example Request syntax with placeholder values

resp = client.list_resource_delegates({
  organization_id: "OrganizationId", # required
  resource_id: "WorkMailIdentifier", # required
  next_token: "NextToken",
  max_results: 1,
})

@example Response structure

resp.delegates #=> Array
resp.delegates[0].id #=> String
resp.delegates[0].type #=> String, one of "GROUP", "USER"
resp.next_token #=> String

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListResourceDelegates AWS API Documentation

@overload list_resource_delegates(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 1962
def list_resource_delegates(params = {}, options = {})
  req = build_request(:list_resource_delegates, params)
  req.send_request(options)
end
list_resources(params = {}, options = {}) click to toggle source

Returns summaries of the organization's resources.

@option params [required, String] :organization_id

The identifier for the organization under which the resources exist.

@option params [String] :next_token

The token to use to retrieve the next page of results. The first call
does not contain any tokens.

@option params [Integer] :max_results

The maximum number of results to return in a single call.

@return [Types::ListResourcesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::ListResourcesResponse#resources #resources} => Array&lt;Types::Resource&gt;
* {Types::ListResourcesResponse#next_token #next_token} => String

The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.

@example Request syntax with placeholder values

resp = client.list_resources({
  organization_id: "OrganizationId", # required
  next_token: "NextToken",
  max_results: 1,
})

@example Response structure

resp.resources #=> Array
resp.resources[0].id #=> String
resp.resources[0].email #=> String
resp.resources[0].name #=> String
resp.resources[0].type #=> String, one of "ROOM", "EQUIPMENT"
resp.resources[0].state #=> String, one of "ENABLED", "DISABLED", "DELETED"
resp.resources[0].enabled_date #=> Time
resp.resources[0].disabled_date #=> Time
resp.next_token #=> String

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListResources AWS API Documentation

@overload list_resources(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 2010
def list_resources(params = {}, options = {})
  req = build_request(:list_resources, params)
  req.send_request(options)
end
list_tags_for_resource(params = {}, options = {}) click to toggle source

Lists the tags applied to an Amazon WorkMail organization resource.

@option params [required, String] :resource_arn

The resource ARN.

@return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::ListTagsForResourceResponse#tags #tags} => Array&lt;Types::Tag&gt;

@example Request syntax with placeholder values

resp = client.list_tags_for_resource({
  resource_arn: "AmazonResourceName", # required
})

@example Response structure

resp.tags #=> Array
resp.tags[0].key #=> String
resp.tags[0].value #=> String

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListTagsForResource AWS API Documentation

@overload list_tags_for_resource(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 2040
def list_tags_for_resource(params = {}, options = {})
  req = build_request(:list_tags_for_resource, params)
  req.send_request(options)
end
list_users(params = {}, options = {}) click to toggle source

Returns summaries of the organization's users.

@option params [required, String] :organization_id

The identifier for the organization under which the users exist.

@option params [String] :next_token

The token to use to retrieve the next page of results. The first call
does not contain any tokens.

@option params [Integer] :max_results

The maximum number of results to return in a single call.

@return [Types::ListUsersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::ListUsersResponse#users #users} => Array&lt;Types::User&gt;
* {Types::ListUsersResponse#next_token #next_token} => String

The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.

@example Request syntax with placeholder values

resp = client.list_users({
  organization_id: "OrganizationId", # required
  next_token: "NextToken",
  max_results: 1,
})

@example Response structure

resp.users #=> Array
resp.users[0].id #=> String
resp.users[0].email #=> String
resp.users[0].name #=> String
resp.users[0].display_name #=> String
resp.users[0].state #=> String, one of "ENABLED", "DISABLED", "DELETED"
resp.users[0].user_role #=> String, one of "USER", "RESOURCE", "SYSTEM_USER"
resp.users[0].enabled_date #=> Time
resp.users[0].disabled_date #=> Time
resp.next_token #=> String

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListUsers AWS API Documentation

@overload list_users(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 2089
def list_users(params = {}, options = {})
  req = build_request(:list_users, params)
  req.send_request(options)
end
put_access_control_rule(params = {}, options = {}) click to toggle source

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.

@option params [required, String] :name

The rule name.

@option params [required, String] :effect

The rule effect.

@option params [required, String] :description

The rule description.

@option params [Array<String>] :ip_ranges

IPv4 CIDR ranges to include in the rule.

@option params [Array<String>] :not_ip_ranges

IPv4 CIDR ranges to exclude from the rule.

@option params [Array<String>] :actions

Access protocol actions to include in the rule. Valid values include
`ActiveSync`, `AutoDiscover`, `EWS`, `IMAP`, `SMTP`, `WindowsOutlook`,
and `WebMail`.

@option params [Array<String>] :not_actions

Access protocol actions to exclude from the rule. Valid values include
`ActiveSync`, `AutoDiscover`, `EWS`, `IMAP`, `SMTP`, `WindowsOutlook`,
and `WebMail`.

@option params [Array<String>] :user_ids

User IDs to include in the rule.

@option params [Array<String>] :not_user_ids

User IDs to exclude from the rule.

@option params [required, String] :organization_id

The identifier of the organization.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

resp = client.put_access_control_rule({
  name: "AccessControlRuleName", # required
  effect: "ALLOW", # required, accepts ALLOW, DENY
  description: "AccessControlRuleDescription", # required
  ip_ranges: ["IpRange"],
  not_ip_ranges: ["IpRange"],
  actions: ["AccessControlRuleAction"],
  not_actions: ["AccessControlRuleAction"],
  user_ids: ["WorkMailIdentifier"],
  not_user_ids: ["WorkMailIdentifier"],
  organization_id: "OrganizationId", # required
})

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/PutAccessControlRule AWS API Documentation

@overload put_access_control_rule(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 2154
def put_access_control_rule(params = {}, options = {})
  req = build_request(:put_access_control_rule, params)
  req.send_request(options)
end
put_mailbox_permissions(params = {}, options = {}) click to toggle source

Sets permissions for a user, group, or resource. This replaces any pre-existing permissions.

@option params [required, String] :organization_id

The identifier of the organization under which the user, group, or
resource exists.

@option params [required, String] :entity_id

The identifier of the user, group, or resource for which to update
mailbox permissions.

@option params [required, String] :grantee_id

The identifier of the user, group, or resource to which to grant the
permissions.

@option params [required, Array<String>] :permission_values

The permissions granted to the grantee. SEND\_AS allows the grantee to
send email as the owner of the mailbox (the grantee is not mentioned
on these emails). SEND\_ON\_BEHALF allows the grantee to send email on
behalf of the owner of the mailbox (the grantee is not mentioned as
the physical sender of these emails). FULL\_ACCESS allows the grantee
full access to the mailbox, irrespective of other folder-level
permissions set on the mailbox.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

resp = client.put_mailbox_permissions({
  organization_id: "OrganizationId", # required
  entity_id: "WorkMailIdentifier", # required
  grantee_id: "WorkMailIdentifier", # required
  permission_values: ["FULL_ACCESS"], # required, accepts FULL_ACCESS, SEND_AS, SEND_ON_BEHALF
})

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/PutMailboxPermissions AWS API Documentation

@overload put_mailbox_permissions(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 2198
def put_mailbox_permissions(params = {}, options = {})
  req = build_request(:put_mailbox_permissions, params)
  req.send_request(options)
end
put_retention_policy(params = {}, options = {}) click to toggle source

Puts a retention policy to the specified organization.

@option params [required, String] :organization_id

The organization ID.

@option params [String] :id

The retention policy ID.

@option params [required, String] :name

The retention policy name.

@option params [String] :description

The retention policy description.

@option params [required, Array<Types::FolderConfiguration>] :folder_configurations

The retention policy folder configurations.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

resp = client.put_retention_policy({
  organization_id: "OrganizationId", # required
  id: "ShortString",
  name: "ShortString", # required
  description: "PolicyDescription",
  folder_configurations: [ # required
    {
      name: "INBOX", # required, accepts INBOX, DELETED_ITEMS, SENT_ITEMS, DRAFTS, JUNK_EMAIL
      action: "NONE", # required, accepts NONE, DELETE, PERMANENTLY_DELETE
      period: 1,
    },
  ],
})

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/PutRetentionPolicy AWS API Documentation

@overload put_retention_policy(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 2242
def put_retention_policy(params = {}, options = {})
  req = build_request(:put_retention_policy, params)
  req.send_request(options)
end
register_to_work_mail(params = {}, options = {}) click to toggle source

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.

[1]: aws.amazon.com/workmail/pricing

@option params [required, String] :organization_id

The identifier for the organization under which the user, group, or
resource exists.

@option params [required, String] :entity_id

The identifier for the user, group, or resource to be updated.

@option params [required, String] :email

The email for the user, group, or resource to be updated.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

resp = client.register_to_work_mail({
  organization_id: "OrganizationId", # required
  entity_id: "WorkMailIdentifier", # required
  email: "EmailAddress", # required
})

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/RegisterToWorkMail AWS API Documentation

@overload register_to_work_mail(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 2287
def register_to_work_mail(params = {}, options = {})
  req = build_request(:register_to_work_mail, params)
  req.send_request(options)
end
reset_password(params = {}, options = {}) click to toggle source

Allows the administrator to reset the password for a user.

@option params [required, String] :organization_id

The identifier of the organization that contains the user for which
the password is reset.

@option params [required, String] :user_id

The identifier of the user for whom the password is reset.

@option params [required, String] :password

The new password for the user.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

resp = client.reset_password({
  organization_id: "OrganizationId", # required
  user_id: "WorkMailIdentifier", # required
  password: "Password", # required
})

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ResetPassword AWS API Documentation

@overload reset_password(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 2318
def reset_password(params = {}, options = {})
  req = build_request(:reset_password, params)
  req.send_request(options)
end
start_mailbox_export_job(params = {}, options = {}) click to toggle source

Starts a mailbox export job to export MIME-format email messages and calendar items from the specified mailbox to the specified Amazon Simple Storage Service (Amazon S3) bucket. For more information, see

Exporting mailbox content][1

in the *Amazon WorkMail Administrator

Guide*.

[1]: docs.aws.amazon.com/workmail/latest/adminguide/mail-export.html

@option params [required, String] :client_token

The idempotency token for the client request.

**A suitable default value is auto-generated.** You should normally
not need to pass this option.**

@option params [required, String] :organization_id

The identifier associated with the organization.

@option params [required, String] :entity_id

The identifier of the user or resource associated with the mailbox.

@option params [String] :description

The mailbox export job description.

@option params [required, String] :role_arn

The ARN of the AWS Identity and Access Management (IAM) role that
grants write permission to the S3 bucket.

@option params [required, String] :kms_key_arn

The Amazon Resource Name (ARN) of the symmetric AWS Key Management
Service (AWS KMS) key that encrypts the exported mailbox content.

@option params [required, String] :s3_bucket_name

The name of the S3 bucket.

@option params [required, String] :s3_prefix

The S3 bucket prefix.

@return [Types::StartMailboxExportJobResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::StartMailboxExportJobResponse#job_id #job_id} => String

@example Request syntax with placeholder values

resp = client.start_mailbox_export_job({
  client_token: "IdempotencyClientToken", # required
  organization_id: "OrganizationId", # required
  entity_id: "WorkMailIdentifier", # required
  description: "Description",
  role_arn: "RoleArn", # required
  kms_key_arn: "KmsKeyArn", # required
  s3_bucket_name: "S3BucketName", # required
  s3_prefix: "S3ObjectKey", # required
})

@example Response structure

resp.job_id #=> String

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/StartMailboxExportJob AWS API Documentation

@overload start_mailbox_export_job(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 2387
def start_mailbox_export_job(params = {}, options = {})
  req = build_request(:start_mailbox_export_job, params)
  req.send_request(options)
end
tag_resource(params = {}, options = {}) click to toggle source

Applies the specified tags to the specified Amazon WorkMail organization resource.

@option params [required, String] :resource_arn

The resource ARN.

@option params [required, Array<Types::Tag>] :tags

The tag key-value pairs.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

resp = client.tag_resource({
  resource_arn: "AmazonResourceName", # required
  tags: [ # required
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
})

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/TagResource AWS API Documentation

@overload tag_resource(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 2419
def tag_resource(params = {}, options = {})
  req = build_request(:tag_resource, params)
  req.send_request(options)
end
untag_resource(params = {}, options = {}) click to toggle source

Untags the specified tags from the specified Amazon WorkMail organization resource.

@option params [required, String] :resource_arn

The resource ARN.

@option params [required, Array<String>] :tag_keys

The tag keys.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

resp = client.untag_resource({
  resource_arn: "AmazonResourceName", # required
  tag_keys: ["TagKey"], # required
})

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/UntagResource AWS API Documentation

@overload untag_resource(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 2446
def untag_resource(params = {}, options = {})
  req = build_request(:untag_resource, params)
  req.send_request(options)
end
update_mailbox_quota(params = {}, options = {}) click to toggle source

Updates a user's current mailbox quota for a specified organization and user.

@option params [required, String] :organization_id

The identifier for the organization that contains the user for whom to
update the mailbox quota.

@option params [required, String] :user_id

The identifer for the user for whom to update the mailbox quota.

@option params [required, Integer] :mailbox_quota

The updated mailbox quota, in MB, for the specified user.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

resp = client.update_mailbox_quota({
  organization_id: "OrganizationId", # required
  user_id: "WorkMailIdentifier", # required
  mailbox_quota: 1, # required
})

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/UpdateMailboxQuota AWS API Documentation

@overload update_mailbox_quota(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 2478
def update_mailbox_quota(params = {}, options = {})
  req = build_request(:update_mailbox_quota, params)
  req.send_request(options)
end
update_mobile_device_access_rule(params = {}, options = {}) click to toggle source

Updates a mobile device access rule for the specified Amazon WorkMail organization.

@option params [required, String] :organization_id

The Amazon WorkMail organization under which the rule will be updated.

@option params [required, String] :mobile_device_access_rule_id

The identifier of the rule to be updated.

@option params [required, String] :name

The updated rule name.

@option params [String] :description

The updated rule description.

@option params [required, String] :effect

The effect of the rule when it matches. Allowed values are `ALLOW` or
`DENY`.

@option params [Array<String>] :device_types

Device types that the updated rule will match.

@option params [Array<String>] :not_device_types

Device types that the updated rule **will not** match. All other
device types will match.

@option params [Array<String>] :device_models

Device models that the updated rule will match.

@option params [Array<String>] :not_device_models

Device models that the updated rule **will not** match. All other
device models will match.

@option params [Array<String>] :device_operating_systems

Device operating systems that the updated rule will match.

@option params [Array<String>] :not_device_operating_systems

Device operating systems that the updated rule **will not** match. All
other device operating systems will match.

@option params [Array<String>] :device_user_agents

User agents that the updated rule will match.

@option params [Array<String>] :not_device_user_agents

User agents that the updated rule **will not** match. All other user
agents will match.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

resp = client.update_mobile_device_access_rule({
  organization_id: "OrganizationId", # required
  mobile_device_access_rule_id: "MobileDeviceAccessRuleId", # required
  name: "MobileDeviceAccessRuleName", # required
  description: "MobileDeviceAccessRuleDescription",
  effect: "ALLOW", # required, accepts ALLOW, DENY
  device_types: ["DeviceType"],
  not_device_types: ["DeviceType"],
  device_models: ["DeviceModel"],
  not_device_models: ["DeviceModel"],
  device_operating_systems: ["DeviceOperatingSystem"],
  not_device_operating_systems: ["DeviceOperatingSystem"],
  device_user_agents: ["DeviceUserAgent"],
  not_device_user_agents: ["DeviceUserAgent"],
})

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/UpdateMobileDeviceAccessRule AWS API Documentation

@overload update_mobile_device_access_rule(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 2554
def update_mobile_device_access_rule(params = {}, options = {})
  req = build_request(:update_mobile_device_access_rule, params)
  req.send_request(options)
end
update_primary_email_address(params = {}, options = {}) click to toggle source

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.

@option params [required, String] :organization_id

The organization that contains the user, group, or resource to update.

@option params [required, String] :entity_id

The user, group, or resource to update.

@option params [required, String] :email

The value of the email to be updated as primary.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

resp = client.update_primary_email_address({
  organization_id: "OrganizationId", # required
  entity_id: "WorkMailIdentifier", # required
  email: "EmailAddress", # required
})

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/UpdatePrimaryEmailAddress AWS API Documentation

@overload update_primary_email_address(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 2587
def update_primary_email_address(params = {}, options = {})
  req = build_request(:update_primary_email_address, params)
  req.send_request(options)
end
update_resource(params = {}, options = {}) click to toggle source

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.

@option params [required, String] :organization_id

The identifier associated with the organization for which the resource
is updated.

@option params [required, String] :resource_id

The identifier of the resource to be updated.

@option params [String] :name

The name of the resource to be updated.

@option params [Types::BookingOptions] :booking_options

The resource's booking options to be updated.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

resp = client.update_resource({
  organization_id: "OrganizationId", # required
  resource_id: "ResourceId", # required
  name: "ResourceName",
  booking_options: {
    auto_accept_requests: false,
    auto_decline_recurring_requests: false,
    auto_decline_conflicting_requests: false,
  },
})

@see docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/UpdateResource AWS API Documentation

@overload update_resource(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-workmail/client.rb, line 2629
def update_resource(params = {}, options = {})
  req = build_request(:update_resource, params)
  req.send_request(options)
end
waiter_names() click to toggle source

@api private @deprecated

# File lib/aws-sdk-workmail/client.rb, line 2653
def waiter_names
  []
end