You are viewing documentation for version 3 of the AWS SDK for Ruby. Version 2 documentation can be found here.

Class: Aws::S3Control::Client

Inherits:
Seahorse::Client::Base show all
Includes:
ClientStubs
Defined in:
gems/aws-sdk-s3control/lib/aws-sdk-s3control/client.rb

Instance Attribute Summary

Attributes inherited from Seahorse::Client::Base

#config, #handlers

API Operations collapse

Instance Method Summary collapse

Methods included from ClientStubs

#api_requests, #stub_data, #stub_responses

Methods inherited from Seahorse::Client::Base

add_plugin, api, clear_plugins, define, new, #operation_names, plugins, remove_plugin, set_api, set_plugins

Methods included from Seahorse::Client::HandlerBuilder

#handle, #handle_request, #handle_response

Constructor Details

#initialize(options) ⇒ Client

Returns a new instance of Client

Parameters:

  • options (Hash)

Options Hash (options):

  • :credentials (required, Aws::CredentialProvider)

    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::InstanceProfileCredentials - Used for loading credentials from an EC2 IMDS on an EC2 instance.

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

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

    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 IMDS instance profile - When used by default, the timeouts are very aggressive. Construct and pass an instance of Aws::InstanceProfileCredentails to enable retries and extended timeouts.
  • :region (required, String)

    The AWS region to connect to. The configured :region is used to determine the service :endpoint. When not passed, a default :region is search for in the following locations:

    • Aws.config[:region]
    • ENV['AWS_REGION']
    • ENV['AMAZON_REGION']
    • ENV['AWS_DEFAULT_REGION']
    • ~/.aws/credentials
    • ~/.aws/config
  • :access_key_id (String)
  • :active_endpoint_cache (Boolean) — default: false

    When set to true, a thread polling for endpoints will be running in the background every 60 secs (default). Defaults to false.

  • :client_side_monitoring (Boolean) — default: false

    When true, client-side metrics will be collected for all API requests from this client.

  • :client_side_monitoring_client_id (String) — default: ""

    Allows you to provide an identifier for this client which will be attached to all generated client side metrics. Defaults to an empty string.

  • :client_side_monitoring_host (String) — default: "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.

  • :client_side_monitoring_port (Integer) — default: 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.

  • :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher) — default: Aws::ClientSideMonitoring::Publisher

    Allows you to provide a custom client-side monitoring publisher class. By default, will use the Client Side Monitoring Agent Publisher.

  • :convert_params (Boolean) — default: true

    When true, an attempt is made to coerce request parameters into the required types.

  • :disable_host_prefix_injection (Boolean) — default: false

    Set to true to disable SDK automatically adding host prefix to default service endpoint when available.

  • :endpoint (String)

    The client endpoint is normally constructed from the :region option. You should only configure an :endpoint when connecting to test endpoints. This should be avalid HTTP(S) URI.

  • :endpoint_cache_max_entries (Integer) — default: 1000

    Used for the maximum size limit of the LRU cache storing endpoints data for endpoint discovery enabled operations. Defaults to 1000.

  • :endpoint_cache_max_threads (Integer) — default: 10

    Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.

  • :endpoint_cache_poll_interval (Integer) — default: 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.

  • :endpoint_discovery (Boolean) — default: false

    When set to true, endpoint discovery will be enabled for operations when available. Defaults to false.

  • :log_formatter (Aws::Log::Formatter) — default: Aws::Log::Formatter.default

    The log formatter.

  • :log_level (Symbol) — default: :info

    The log level to send messages to the :logger at.

  • :logger (Logger)

    The Logger instance to send log messages to. If this option is not set, logging will be disabled.

  • :profile (String) — default: "default"

    Used when loading credentials from the shared credentials file at HOME/.aws/credentials. When not specified, 'default' is used.

  • :retry_base_delay (Float) — default: 0.3

    The base delay in seconds used by the default backoff function.

  • :retry_jitter (Symbol) — default: :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.

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

  • :retry_limit (Integer) — default: 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 and auth errors from expired credentials.

  • :retry_max_delay (Integer) — default: 0

    The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function.

  • :secret_access_key (String)
  • :session_token (String)
  • :stub_responses (Boolean) — default: 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.

  • :use_dualstack_endpoint (Boolean) — default: false

    When set to true, IPv6-compatible bucket endpoints will be used for all operations.

  • :validate_params (Boolean) — default: true

    When true, request parameters are validated before sending the request.

  • :http_proxy (URI::HTTP, String)

    A proxy to send requests through. Formatted like 'http://proxy.com:123'.

  • :http_open_timeout (Float) — default: 15

    The number of seconds to wait when opening a HTTP session before rasing a Timeout::Error.

  • :http_read_timeout (Integer) — default: 60

    The default number of seconds to wait for response data. This value can safely be set per-request on the session yeidled by #session_for.

  • :http_idle_timeout (Float) — default: 5

    The number of seconds a connection is allowed to sit idble before it is considered stale. Stale connections are closed and removed from the pool before making a request.

  • :http_continue_timeout (Float) — default: 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 yeidled by #session_for.

  • :http_wire_trace (Boolean) — default: false

    When true, HTTP debug output will be sent to the :logger.

  • :ssl_verify_peer (Boolean) — default: true

    When true, SSL peer certificates are verified when establishing a connection.

  • :ssl_ca_bundle (String)

    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.

  • :ssl_ca_directory (String)

    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.



261
262
263
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/client.rb', line 261

def initialize(*args)
  super
end

Instance Method Details

#create_access_point(params = {}) ⇒ Struct

Creates an access point and associates it with the specified bucket.

Examples:

Request syntax with placeholder values


resp = client.create_access_point({
  account_id: "AccountId", # required
  name: "AccessPointName", # required
  bucket: "BucketName", # required
  vpc_configuration: {
    vpc_id: "VpcId", # required
  },
  public_access_block_configuration: {
    block_public_acls: false,
    ignore_public_acls: false,
    block_public_policy: false,
    restrict_public_buckets: false,
  },
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :account_id (required, String)

    The AWS account ID for the owner of the bucket for which you want to create an access point.

  • :name (required, String)

    The name you want to assign to this access point.

  • :bucket (required, String)

    The name of the bucket that you want to associate this access point with.

  • :vpc_configuration (Types::VpcConfiguration)

    If you include this field, Amazon S3 restricts access to this access point to requests from the specified Virtual Private Cloud (VPC).

  • :public_access_block_configuration (Types::PublicAccessBlockConfiguration)

    The PublicAccessBlock configuration that you want to apply to this Amazon S3 bucket. You can enable the configuration options in any combination. For more information about when Amazon S3 considers a bucket or object public, see The Meaning of "Public" in the Amazon Simple Storage Service Developer Guide.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



318
319
320
321
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/client.rb', line 318

def create_access_point(params = {}, options = {})
  req = build_request(:create_access_point, params)
  req.send_request(options)
end

#create_job(params = {}) ⇒ Types::CreateJobResult

Creates an Amazon S3 batch operations job.

Examples:

Request syntax with placeholder values


resp = client.create_job({
  account_id: "AccountId", # required
  confirmation_required: false,
  operation: { # required
    lambda_invoke: {
      function_arn: "NonEmptyMaxLength1024String",
    },
    s3_put_object_copy: {
      target_resource: "S3BucketArnString",
      canned_access_control_list: "private", # accepts private, public-read, public-read-write, aws-exec-read, authenticated-read, bucket-owner-read, bucket-owner-full-control
      access_control_grants: [
        {
          grantee: {
            type_identifier: "id", # accepts id, emailAddress, uri
            identifier: "NonEmptyMaxLength1024String",
            display_name: "NonEmptyMaxLength1024String",
          },
          permission: "FULL_CONTROL", # accepts FULL_CONTROL, READ, WRITE, READ_ACP, WRITE_ACP
        },
      ],
      metadata_directive: "COPY", # accepts COPY, REPLACE
      modified_since_constraint: Time.now,
      new_object_metadata: {
        cache_control: "NonEmptyMaxLength1024String",
        content_disposition: "NonEmptyMaxLength1024String",
        content_encoding: "NonEmptyMaxLength1024String",
        content_language: "NonEmptyMaxLength1024String",
        user_metadata: {
          "NonEmptyMaxLength1024String" => "MaxLength1024String",
        },
        content_length: 1,
        content_md5: "NonEmptyMaxLength1024String",
        content_type: "NonEmptyMaxLength1024String",
        http_expires_date: Time.now,
        requester_charged: false,
        sse_algorithm: "AES256", # accepts AES256, KMS
      },
      new_object_tagging: [
        {
          key: "NonEmptyMaxLength1024String", # required
          value: "MaxLength1024String", # required
        },
      ],
      redirect_location: "NonEmptyMaxLength2048String",
      requester_pays: false,
      storage_class: "STANDARD", # accepts STANDARD, STANDARD_IA, ONEZONE_IA, GLACIER, INTELLIGENT_TIERING, DEEP_ARCHIVE
      un_modified_since_constraint: Time.now,
      sse_aws_kms_key_id: "KmsKeyArnString",
      target_key_prefix: "NonEmptyMaxLength1024String",
      object_lock_legal_hold_status: "OFF", # accepts OFF, ON
      object_lock_mode: "COMPLIANCE", # accepts COMPLIANCE, GOVERNANCE
      object_lock_retain_until_date: Time.now,
    },
    s3_put_object_acl: {
      access_control_policy: {
        access_control_list: {
          owner: { # required
            id: "NonEmptyMaxLength1024String",
            display_name: "NonEmptyMaxLength1024String",
          },
          grants: [
            {
              grantee: {
                type_identifier: "id", # accepts id, emailAddress, uri
                identifier: "NonEmptyMaxLength1024String",
                display_name: "NonEmptyMaxLength1024String",
              },
              permission: "FULL_CONTROL", # accepts FULL_CONTROL, READ, WRITE, READ_ACP, WRITE_ACP
            },
          ],
        },
        canned_access_control_list: "private", # accepts private, public-read, public-read-write, aws-exec-read, authenticated-read, bucket-owner-read, bucket-owner-full-control
      },
    },
    s3_put_object_tagging: {
      tag_set: [
        {
          key: "NonEmptyMaxLength1024String", # required
          value: "MaxLength1024String", # required
        },
      ],
    },
    s3_initiate_restore_object: {
      expiration_in_days: 1,
      glacier_job_tier: "BULK", # accepts BULK, STANDARD
    },
  },
  report: { # required
    bucket: "S3BucketArnString",
    format: "Report_CSV_20180820", # accepts Report_CSV_20180820
    enabled: false, # required
    prefix: "ReportPrefixString",
    report_scope: "AllTasks", # accepts AllTasks, FailedTasksOnly
  },
  client_request_token: "NonEmptyMaxLength64String", # required
  manifest: { # required
    spec: { # required
      format: "S3BatchOperations_CSV_20180820", # required, accepts S3BatchOperations_CSV_20180820, S3InventoryReport_CSV_20161130
      fields: ["Ignore"], # accepts Ignore, Bucket, Key, VersionId
    },
    location: { # required
      object_arn: "S3KeyArnString", # required
      object_version_id: "S3ObjectVersionId",
      etag: "NonEmptyMaxLength1024String", # required
    },
  },
  description: "NonEmptyMaxLength256String",
  priority: 1, # required
  role_arn: "IAMRoleArn", # required
})

Response structure


resp.job_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :account_id (required, String)
  • :confirmation_required (Boolean)

    Indicates whether confirmation is required before Amazon S3 runs the job. Confirmation is only required for jobs created through the Amazon S3 console.

  • :operation (required, Types::JobOperation)

    The operation that you want this job to perform on each object listed in the manifest. For more information about the available operations, see Available Operations in the Amazon Simple Storage Service Developer Guide.

  • :report (required, Types::JobReport)

    Configuration parameters for the optional job-completion report.

  • :client_request_token (required, String)

    An idempotency token to ensure that you don't accidentally submit the same request twice. You can use any string up to the maximum length.

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

  • :manifest (required, Types::JobManifest)

    Configuration parameters for the manifest.

  • :description (String)

    A description for this job. You can use any string within the permitted length. Descriptions don't need to be unique and can be used for multiple jobs.

  • :priority (required, Integer)

    The numerical priority for this job. Higher numbers indicate higher priority.

  • :role_arn (required, String)

    The Amazon Resource Name (ARN) for the Identity and Access Management (IAM) Role that batch operations will use to execute this job's operation on each object in the manifest.

Returns:

See Also:



494
495
496
497
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/client.rb', line 494

def create_job(params = {}, options = {})
  req = build_request(:create_job, params)
  req.send_request(options)
end

#delete_access_point(params = {}) ⇒ Struct

Deletes the specified access point.

Examples:

Request syntax with placeholder values


resp = client.delete_access_point({
  account_id: "AccountId", # required
  name: "AccessPointName", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :account_id (required, String)

    The account ID for the account that owns the specified access point.

  • :name (required, String)

    The name of the access point you want to delete.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



520
521
522
523
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/client.rb', line 520

def delete_access_point(params = {}, options = {})
  req = build_request(:delete_access_point, params)
  req.send_request(options)
end

#delete_access_point_policy(params = {}) ⇒ Struct

Deletes the access point policy for the specified access point.

Examples:

Request syntax with placeholder values


resp = client.delete_access_point_policy({
  account_id: "AccountId", # required
  name: "AccessPointName", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :account_id (required, String)

    The account ID for the account that owns the specified access point.

  • :name (required, String)

    The name of the access point whose policy you want to delete.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



546
547
548
549
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/client.rb', line 546

def delete_access_point_policy(params = {}, options = {})
  req = build_request(:delete_access_point_policy, params)
  req.send_request(options)
end

#delete_public_access_block(params = {}) ⇒ Struct

Removes the PublicAccessBlock configuration for an Amazon Web Services account.

Examples:

Request syntax with placeholder values


resp = client.delete_public_access_block({
  account_id: "AccountId", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :account_id (required, String)

    The account ID for the Amazon Web Services account whose PublicAccessBlock configuration you want to remove.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



570
571
572
573
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/client.rb', line 570

def delete_public_access_block(params = {}, options = {})
  req = build_request(:delete_public_access_block, params)
  req.send_request(options)
end

#describe_job(params = {}) ⇒ Types::DescribeJobResult

Retrieves the configuration parameters and status for a batch operations job.

Examples:

Request syntax with placeholder values


resp = client.describe_job({
  account_id: "AccountId", # required
  job_id: "JobId", # required
})

Response structure


resp.job.job_id #=> String
resp.job.confirmation_required #=> Boolean
resp.job.description #=> String
resp.job.job_arn #=> String
resp.job.status #=> String, one of "Active", "Cancelled", "Cancelling", "Complete", "Completing", "Failed", "Failing", "New", "Paused", "Pausing", "Preparing", "Ready", "Suspended"
resp.job.manifest.spec.format #=> String, one of "S3BatchOperations_CSV_20180820", "S3InventoryReport_CSV_20161130"
resp.job.manifest.spec.fields #=> Array
resp.job.manifest.spec.fields[0] #=> String, one of "Ignore", "Bucket", "Key", "VersionId"
resp.job.manifest.location.object_arn #=> String
resp.job.manifest.location.object_version_id #=> String
resp.job.manifest.location.etag #=> String
resp.job.operation.lambda_invoke.function_arn #=> String
resp.job.operation.s3_put_object_copy.target_resource #=> String
resp.job.operation.s3_put_object_copy.canned_access_control_list #=> String, one of "private", "public-read", "public-read-write", "aws-exec-read", "authenticated-read", "bucket-owner-read", "bucket-owner-full-control"
resp.job.operation.s3_put_object_copy.access_control_grants #=> Array
resp.job.operation.s3_put_object_copy.access_control_grants[0].grantee.type_identifier #=> String, one of "id", "emailAddress", "uri"
resp.job.operation.s3_put_object_copy.access_control_grants[0].grantee.identifier #=> String
resp.job.operation.s3_put_object_copy.access_control_grants[0].grantee.display_name #=> String
resp.job.operation.s3_put_object_copy.access_control_grants[0].permission #=> String, one of "FULL_CONTROL", "READ", "WRITE", "READ_ACP", "WRITE_ACP"
resp.job.operation.s3_put_object_copy. #=> String, one of "COPY", "REPLACE"
resp.job.operation.s3_put_object_copy.modified_since_constraint #=> Time
resp.job.operation.s3_put_object_copy..cache_control #=> String
resp.job.operation.s3_put_object_copy..content_disposition #=> String
resp.job.operation.s3_put_object_copy..content_encoding #=> String
resp.job.operation.s3_put_object_copy..content_language #=> String
resp.job.operation.s3_put_object_copy.. #=> Hash
resp.job.operation.s3_put_object_copy..["NonEmptyMaxLength1024String"] #=> String
resp.job.operation.s3_put_object_copy..content_length #=> Integer
resp.job.operation.s3_put_object_copy..content_md5 #=> String
resp.job.operation.s3_put_object_copy..content_type #=> String
resp.job.operation.s3_put_object_copy..http_expires_date #=> Time
resp.job.operation.s3_put_object_copy..requester_charged #=> Boolean
resp.job.operation.s3_put_object_copy..sse_algorithm #=> String, one of "AES256", "KMS"
resp.job.operation.s3_put_object_copy.new_object_tagging #=> Array
resp.job.operation.s3_put_object_copy.new_object_tagging[0].key #=> String
resp.job.operation.s3_put_object_copy.new_object_tagging[0].value #=> String
resp.job.operation.s3_put_object_copy.redirect_location #=> String
resp.job.operation.s3_put_object_copy.requester_pays #=> Boolean
resp.job.operation.s3_put_object_copy.storage_class #=> String, one of "STANDARD", "STANDARD_IA", "ONEZONE_IA", "GLACIER", "INTELLIGENT_TIERING", "DEEP_ARCHIVE"
resp.job.operation.s3_put_object_copy.un_modified_since_constraint #=> Time
resp.job.operation.s3_put_object_copy.sse_aws_kms_key_id #=> String
resp.job.operation.s3_put_object_copy.target_key_prefix #=> String
resp.job.operation.s3_put_object_copy.object_lock_legal_hold_status #=> String, one of "OFF", "ON"
resp.job.operation.s3_put_object_copy.object_lock_mode #=> String, one of "COMPLIANCE", "GOVERNANCE"
resp.job.operation.s3_put_object_copy.object_lock_retain_until_date #=> Time
resp.job.operation.s3_put_object_acl.access_control_policy.access_control_list.owner.id #=> String
resp.job.operation.s3_put_object_acl.access_control_policy.access_control_list.owner.display_name #=> String
resp.job.operation.s3_put_object_acl.access_control_policy.access_control_list.grants #=> Array
resp.job.operation.s3_put_object_acl.access_control_policy.access_control_list.grants[0].grantee.type_identifier #=> String, one of "id", "emailAddress", "uri"
resp.job.operation.s3_put_object_acl.access_control_policy.access_control_list.grants[0].grantee.identifier #=> String
resp.job.operation.s3_put_object_acl.access_control_policy.access_control_list.grants[0].grantee.display_name #=> String
resp.job.operation.s3_put_object_acl.access_control_policy.access_control_list.grants[0].permission #=> String, one of "FULL_CONTROL", "READ", "WRITE", "READ_ACP", "WRITE_ACP"
resp.job.operation.s3_put_object_acl.access_control_policy.canned_access_control_list #=> String, one of "private", "public-read", "public-read-write", "aws-exec-read", "authenticated-read", "bucket-owner-read", "bucket-owner-full-control"
resp.job.operation.s3_put_object_tagging.tag_set #=> Array
resp.job.operation.s3_put_object_tagging.tag_set[0].key #=> String
resp.job.operation.s3_put_object_tagging.tag_set[0].value #=> String
resp.job.operation.s3_initiate_restore_object.expiration_in_days #=> Integer
resp.job.operation.s3_initiate_restore_object.glacier_job_tier #=> String, one of "BULK", "STANDARD"
resp.job.priority #=> Integer
resp.job.progress_summary.total_number_of_tasks #=> Integer
resp.job.progress_summary.number_of_tasks_succeeded #=> Integer
resp.job.progress_summary.number_of_tasks_failed #=> Integer
resp.job.status_update_reason #=> String
resp.job.failure_reasons #=> Array
resp.job.failure_reasons[0].failure_code #=> String
resp.job.failure_reasons[0].failure_reason #=> String
resp.job.report.bucket #=> String
resp.job.report.format #=> String, one of "Report_CSV_20180820"
resp.job.report.enabled #=> Boolean
resp.job.report.prefix #=> String
resp.job.report.report_scope #=> String, one of "AllTasks", "FailedTasksOnly"
resp.job.creation_time #=> Time
resp.job.termination_date #=> Time
resp.job.role_arn #=> String
resp.job.suspended_date #=> Time
resp.job.suspended_cause #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :account_id (required, String)
  • :job_id (required, String)

    The ID for the job whose information you want to retrieve.

Returns:

See Also:



677
678
679
680
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/client.rb', line 677

def describe_job(params = {}, options = {})
  req = build_request(:describe_job, params)
  req.send_request(options)
end

#get_access_point(params = {}) ⇒ Types::GetAccessPointResult

Returns configuration information about the specified access point.

Examples:

Request syntax with placeholder values


resp = client.get_access_point({
  account_id: "AccountId", # required
  name: "AccessPointName", # required
})

Response structure


resp.name #=> String
resp.bucket #=> String
resp.network_origin #=> String, one of "Internet", "VPC"
resp.vpc_configuration.vpc_id #=> String
resp.public_access_block_configuration.block_public_acls #=> Boolean
resp.public_access_block_configuration.ignore_public_acls #=> Boolean
resp.public_access_block_configuration.block_public_policy #=> Boolean
resp.public_access_block_configuration.restrict_public_buckets #=> Boolean
resp.creation_date #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :account_id (required, String)

    The account ID for the account that owns the specified access point.

  • :name (required, String)

    The name of the access point whose configuration information you want to retrieve.

Returns:

See Also:



723
724
725
726
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/client.rb', line 723

def get_access_point(params = {}, options = {})
  req = build_request(:get_access_point, params)
  req.send_request(options)
end

#get_access_point_policy(params = {}) ⇒ Types::GetAccessPointPolicyResult

Returns the access point policy associated with the specified access point.

Examples:

Request syntax with placeholder values


resp = client.get_access_point_policy({
  account_id: "AccountId", # required
  name: "AccessPointName", # required
})

Response structure


resp.policy #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :account_id (required, String)

    The account ID for the account that owns the specified access point.

  • :name (required, String)

    The name of the access point whose policy you want to retrieve.

Returns:

See Also:



756
757
758
759
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/client.rb', line 756

def get_access_point_policy(params = {}, options = {})
  req = build_request(:get_access_point_policy, params)
  req.send_request(options)
end

#get_access_point_policy_status(params = {}) ⇒ Types::GetAccessPointPolicyStatusResult

Indicates whether the specified access point currently has a policy that allows public access. For more information about public access through access points, see Managing Data Access with Amazon S3 Access Points in the Amazon Simple Storage Service Developer Guide.

Examples:

Request syntax with placeholder values


resp = client.get_access_point_policy_status({
  account_id: "AccountId", # required
  name: "AccessPointName", # required
})

Response structure


resp.policy_status.is_public #=> Boolean

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :account_id (required, String)

    The account ID for the account that owns the specified access point.

  • :name (required, String)

    The name of the access point whose policy status you want to retrieve.

Returns:

See Also:



795
796
797
798
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/client.rb', line 795

def get_access_point_policy_status(params = {}, options = {})
  req = build_request(:get_access_point_policy_status, params)
  req.send_request(options)
end

#get_public_access_block(params = {}) ⇒ Types::GetPublicAccessBlockOutput

Retrieves the PublicAccessBlock configuration for an Amazon Web Services account.

Examples:

Request syntax with placeholder values


resp = client.get_public_access_block({
  account_id: "AccountId", # required
})

Response structure


resp.public_access_block_configuration.block_public_acls #=> Boolean
resp.public_access_block_configuration.ignore_public_acls #=> Boolean
resp.public_access_block_configuration.block_public_policy #=> Boolean
resp.public_access_block_configuration.restrict_public_buckets #=> Boolean

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :account_id (required, String)

    The account ID for the Amazon Web Services account whose PublicAccessBlock configuration you want to retrieve.

Returns:

See Also:



828
829
830
831
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/client.rb', line 828

def get_public_access_block(params = {}, options = {})
  req = build_request(:get_public_access_block, params)
  req.send_request(options)
end

#list_access_points(params = {}) ⇒ Types::ListAccessPointsResult

Returns a list of the access points currently associated with the specified bucket. You can retrieve up to 1000 access points per call. If the specified bucket has more than 1000 access points (or the number specified in maxResults, whichever is less), then the response will include a continuation token that you can use to list the additional access points.

Examples:

Request syntax with placeholder values


resp = client.list_access_points({
  account_id: "AccountId", # required
  bucket: "BucketName",
  next_token: "NonEmptyMaxLength1024String",
  max_results: 1,
})

Response structure


resp.access_point_list #=> Array
resp.access_point_list[0].name #=> String
resp.access_point_list[0].network_origin #=> String, one of "Internet", "VPC"
resp.access_point_list[0].vpc_configuration.vpc_id #=> String
resp.access_point_list[0].bucket #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :account_id (required, String)

    The AWS account ID for owner of the bucket whose access points you want to list.

  • :bucket (String)

    The name of the bucket whose associated access points you want to list.

  • :next_token (String)

    A continuation token. If a previous call to ListAccessPoints returned a continuation token in the NextToken field, then providing that value here causes Amazon S3 to retrieve the next page of results.

  • :max_results (Integer)

    The maximum number of access points that you want to include in the list. If the specified bucket has more than this number of access points, then the response will include a continuation token in the NextToken field that you can use to retrieve the next page of access points.

Returns:

See Also:



887
888
889
890
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/client.rb', line 887

def list_access_points(params = {}, options = {})
  req = build_request(:list_access_points, params)
  req.send_request(options)
end

#list_jobs(params = {}) ⇒ Types::ListJobsResult

Lists current jobs and jobs that have ended within the last 30 days for the AWS account making the request.

Examples:

Request syntax with placeholder values


resp = client.list_jobs({
  account_id: "AccountId", # required
  job_statuses: ["Active"], # accepts Active, Cancelled, Cancelling, Complete, Completing, Failed, Failing, New, Paused, Pausing, Preparing, Ready, Suspended
  next_token: "NonEmptyMaxLength1024String",
  max_results: 1,
})

Response structure


resp.next_token #=> String
resp.jobs #=> Array
resp.jobs[0].job_id #=> String
resp.jobs[0].description #=> String
resp.jobs[0].operation #=> String, one of "LambdaInvoke", "S3PutObjectCopy", "S3PutObjectAcl", "S3PutObjectTagging", "S3InitiateRestoreObject"
resp.jobs[0].priority #=> Integer
resp.jobs[0].status #=> String, one of "Active", "Cancelled", "Cancelling", "Complete", "Completing", "Failed", "Failing", "New", "Paused", "Pausing", "Preparing", "Ready", "Suspended"
resp.jobs[0].creation_time #=> Time
resp.jobs[0].termination_date #=> Time
resp.jobs[0].progress_summary.total_number_of_tasks #=> Integer
resp.jobs[0].progress_summary.number_of_tasks_succeeded #=> Integer
resp.jobs[0].progress_summary.number_of_tasks_failed #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :account_id (required, String)
  • :job_statuses (Array<String>)

    The List Jobs request returns jobs that match the statuses listed in this element.

  • :next_token (String)

    A pagination token to request the next page of results. Use the token that Amazon S3 returned in the NextToken element of the ListJobsResult from the previous List Jobs request.

  • :max_results (Integer)

    The maximum number of jobs that Amazon S3 will include in the List Jobs response. If there are more jobs than this number, the response will include a pagination token in the NextToken field to enable you to retrieve the next page of results.

Returns:

See Also:



945
946
947
948
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/client.rb', line 945

def list_jobs(params = {}, options = {})
  req = build_request(:list_jobs, params)
  req.send_request(options)
end

#put_access_point_policy(params = {}) ⇒ Struct

Associates an access policy with the specified access point. Each access point can have only one policy, so a request made to this API replaces any existing policy associated with the specified access point.

Examples:

Request syntax with placeholder values


resp = client.put_access_point_policy({
  account_id: "AccountId", # required
  name: "AccessPointName", # required
  policy: "Policy", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :account_id (required, String)

    The AWS account ID for owner of the bucket associated with the specified access point.

  • :name (required, String)

    The name of the access point that you want to associate with the specified policy.

  • :policy (required, String)

    The policy that you want to apply to the specified access point. For more information about access point policies, see Managing Data Access with Amazon S3 Access Points in the Amazon Simple Storage Service Developer Guide.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



987
988
989
990
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/client.rb', line 987

def put_access_point_policy(params = {}, options = {})
  req = build_request(:put_access_point_policy, params)
  req.send_request(options)
end

#put_public_access_block(params = {}) ⇒ Struct

Creates or modifies the PublicAccessBlock configuration for an Amazon Web Services account.

Examples:

Request syntax with placeholder values


resp = client.put_public_access_block({
  public_access_block_configuration: { # required
    block_public_acls: false,
    ignore_public_acls: false,
    block_public_policy: false,
    restrict_public_buckets: false,
  },
  account_id: "AccountId", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :public_access_block_configuration (required, Types::PublicAccessBlockConfiguration)

    The PublicAccessBlock configuration that you want to apply to the specified Amazon Web Services account.

  • :account_id (required, String)

    The account ID for the Amazon Web Services account whose PublicAccessBlock configuration you want to set.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1021
1022
1023
1024
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/client.rb', line 1021

def put_public_access_block(params = {}, options = {})
  req = build_request(:put_public_access_block, params)
  req.send_request(options)
end

#update_job_priority(params = {}) ⇒ Types::UpdateJobPriorityResult

Updates an existing job's priority.

Examples:

Request syntax with placeholder values


resp = client.update_job_priority({
  account_id: "AccountId", # required
  job_id: "JobId", # required
  priority: 1, # required
})

Response structure


resp.job_id #=> String
resp.priority #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :account_id (required, String)
  • :job_id (required, String)

    The ID for the job whose priority you want to update.

  • :priority (required, Integer)

    The priority you want to assign to this job.

Returns:

See Also:



1058
1059
1060
1061
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/client.rb', line 1058

def update_job_priority(params = {}, options = {})
  req = build_request(:update_job_priority, params)
  req.send_request(options)
end

#update_job_status(params = {}) ⇒ Types::UpdateJobStatusResult

Updates the status for the specified job. Use this operation to confirm that you want to run a job or to cancel an existing job.

Examples:

Request syntax with placeholder values


resp = client.update_job_status({
  account_id: "AccountId", # required
  job_id: "JobId", # required
  requested_job_status: "Cancelled", # required, accepts Cancelled, Ready
  status_update_reason: "JobStatusUpdateReason",
})

Response structure


resp.job_id #=> String
resp.status #=> String, one of "Active", "Cancelled", "Cancelling", "Complete", "Completing", "Failed", "Failing", "New", "Paused", "Pausing", "Preparing", "Ready", "Suspended"
resp.status_update_reason #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :account_id (required, String)
  • :job_id (required, String)

    The ID of the job whose status you want to update.

  • :requested_job_status (required, String)

    The status that you want to move the specified job to.

  • :status_update_reason (String)

    A description of the reason why you want to change the specified job's status. This field can be any string up to the maximum length.

Returns:

See Also:



1103
1104
1105
1106
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/client.rb', line 1103

def update_job_status(params = {}, options = {})
  req = build_request(:update_job_status, params)
  req.send_request(options)
end