Skip to main content
A newer release of this product is available.

Retrieve the S3 server configuration for all SVMs

Contributors

GET /protocols/s3/services

Introduced In: 9.7

Retrieves the S3 server configuration for all SVMs. Note that in order to retrieve S3 bucket policy conditions, 'fields' option should be set to '**'.

Expensive properties

There is an added cost to retrieving values for these properties. They are not included by default in GET results and must be explicitly requested using the fields query parameter. See Requesting specific fields to learn more.

  • statistics.*

  • metric.*

  • vserver object-store-server show

Parameters

Name Type In Required Description

secure_port

integer

query

False

Filter by secure_port

  • Introduced in: 9.8

svm.uuid

string

query

False

Filter by svm.uuid

svm.name

string

query

False

Filter by svm.name

buckets.size

integer

query

False

Filter by buckets.size

buckets.volume.uuid

string

query

False

Filter by buckets.volume.uuid

buckets.volume.name

string

query

False

Filter by buckets.volume.name

buckets.uuid

string

query

False

Filter by buckets.uuid

buckets.comment

string

query

False

Filter by buckets.comment

buckets.name

string

query

False

Filter by buckets.name

buckets.policy.statements.conditions.source_ips

string

query

False

Filter by buckets.policy.statements.conditions.source_ips

  • Introduced in: 9.8

buckets.policy.statements.conditions.prefixes

string

query

False

Filter by buckets.policy.statements.conditions.prefixes

  • Introduced in: 9.8

buckets.policy.statements.conditions.operator

string

query

False

Filter by buckets.policy.statements.conditions.operator

  • Introduced in: 9.8

buckets.policy.statements.conditions.max_keys

integer

query

False

Filter by buckets.policy.statements.conditions.max_keys

  • Introduced in: 9.8

buckets.policy.statements.conditions.usernames

string

query

False

Filter by buckets.policy.statements.conditions.usernames

  • Introduced in: 9.8

buckets.policy.statements.conditions.delimiters

string

query

False

Filter by buckets.policy.statements.conditions.delimiters

  • Introduced in: 9.8

buckets.policy.statements.principals

string

query

False

Filter by buckets.policy.statements.principals

  • Introduced in: 9.8

buckets.policy.statements.sid

string

query

False

Filter by buckets.policy.statements.sid

  • Introduced in: 9.8

buckets.policy.statements.effect

string

query

False

Filter by buckets.policy.statements.effect

  • Introduced in: 9.8

buckets.policy.statements.actions

string

query

False

Filter by buckets.policy.statements.actions

  • Introduced in: 9.8

buckets.policy.statements.resources

string

query

False

Filter by buckets.policy.statements.resources

  • Introduced in: 9.8

buckets.logical_used_size

integer

query

False

Filter by buckets.logical_used_size

buckets.svm.uuid

string

query

False

Filter by buckets.svm.uuid

buckets.svm.name

string

query

False

Filter by buckets.svm.name

buckets.qos_policy.max_throughput_mbps

integer

query

False

Filter by buckets.qos_policy.max_throughput_mbps

  • Introduced in: 9.8

buckets.qos_policy.max_throughput_iops

integer

query

False

Filter by buckets.qos_policy.max_throughput_iops

  • Introduced in: 9.8

buckets.qos_policy.uuid

string

query

False

Filter by buckets.qos_policy.uuid

  • Introduced in: 9.8

buckets.qos_policy.min_throughput_iops

integer

query

False

Filter by buckets.qos_policy.min_throughput_iops

  • Introduced in: 9.8

buckets.qos_policy.min_throughput_mbps

integer

query

False

Filter by buckets.qos_policy.min_throughput_mbps

  • Introduced in: 9.8

buckets.qos_policy.name

string

query

False

Filter by buckets.qos_policy.name

  • Introduced in: 9.8

buckets.encryption.enabled

boolean

query

False

Filter by buckets.encryption.enabled

statistics.latency_raw.total

integer

query

False

Filter by statistics.latency_raw.total

  • Introduced in: 9.8

statistics.latency_raw.read

integer

query

False

Filter by statistics.latency_raw.read

  • Introduced in: 9.8

statistics.latency_raw.other

integer

query

False

Filter by statistics.latency_raw.other

  • Introduced in: 9.8

statistics.latency_raw.write

integer

query

False

Filter by statistics.latency_raw.write

  • Introduced in: 9.8

statistics.timestamp

string

query

False

Filter by statistics.timestamp

  • Introduced in: 9.8

statistics.iops_raw.total

integer

query

False

Filter by statistics.iops_raw.total

  • Introduced in: 9.8

statistics.iops_raw.read

integer

query

False

Filter by statistics.iops_raw.read

  • Introduced in: 9.8

statistics.iops_raw.other

integer

query

False

Filter by statistics.iops_raw.other

  • Introduced in: 9.8

statistics.iops_raw.write

integer

query

False

Filter by statistics.iops_raw.write

  • Introduced in: 9.8

statistics.throughput_raw.write

integer

query

False

Filter by statistics.throughput_raw.write

  • Introduced in: 9.8

statistics.throughput_raw.read

integer

query

False

Filter by statistics.throughput_raw.read

  • Introduced in: 9.8

statistics.throughput_raw.total

integer

query

False

Filter by statistics.throughput_raw.total

  • Introduced in: 9.8

statistics.status

string

query

False

Filter by statistics.status

  • Introduced in: 9.8

metric.throughput.write

integer

query

False

Filter by metric.throughput.write

  • Introduced in: 9.8

metric.throughput.read

integer

query

False

Filter by metric.throughput.read

  • Introduced in: 9.8

metric.throughput.total

integer

query

False

Filter by metric.throughput.total

  • Introduced in: 9.8

metric.duration

string

query

False

Filter by metric.duration

  • Introduced in: 9.8

metric.timestamp

string

query

False

Filter by metric.timestamp

  • Introduced in: 9.8

metric.status

string

query

False

Filter by metric.status

  • Introduced in: 9.8

metric.iops.total

integer

query

False

Filter by metric.iops.total

  • Introduced in: 9.8

metric.iops.read

integer

query

False

Filter by metric.iops.read

  • Introduced in: 9.8

metric.iops.other

integer

query

False

Filter by metric.iops.other

  • Introduced in: 9.8

metric.iops.write

integer

query

False

Filter by metric.iops.write

  • Introduced in: 9.8

metric.latency.total

integer

query

False

Filter by metric.latency.total

  • Introduced in: 9.8

metric.latency.read

integer

query

False

Filter by metric.latency.read

  • Introduced in: 9.8

metric.latency.other

integer

query

False

Filter by metric.latency.other

  • Introduced in: 9.8

metric.latency.write

integer

query

False

Filter by metric.latency.write

  • Introduced in: 9.8

comment

string

query

False

Filter by comment

name

string

query

False

Filter by name

certificate.name

string

query

False

Filter by certificate.name

  • Introduced in: 9.8

certificate.uuid

string

query

False

Filter by certificate.uuid

  • Introduced in: 9.8

enabled

boolean

query

False

Filter by enabled

port

integer

query

False

Filter by port

  • Introduced in: 9.8

is_https_enabled

boolean

query

False

Filter by is_https_enabled

  • Introduced in: 9.8

is_http_enabled

boolean

query

False

Filter by is_http_enabled

  • Introduced in: 9.8

users.access_key

string

query

False

Filter by users.access_key

users.svm.uuid

string

query

False

Filter by users.svm.uuid

users.svm.name

string

query

False

Filter by users.svm.name

users.comment

string

query

False

Filter by users.comment

users.name

string

query

False

Filter by users.name

fields

array[string]

query

False

Specify the fields to return.

max_records

integer

query

False

Limit the number of records returned.

return_records

boolean

query

False

The default is true for GET calls. When set to false, only the number of records is returned.

  • Default value: 1

return_timeout

integer

query

False

The number of seconds to allow the call to execute before returning. When iterating over a collection, the default is 15 seconds. ONTAP returns earlier if either max records or the end of the collection is reached.

  • Default value: 1

  • Max value: 120

  • Min value: 0

order_by

array[string]

query

False

Order results by specified fields and optional [asc

Response

Status: 200, Ok
Name Type Description

_links

collection_links

num_records

integer

Number of records

records

array[s3_service]

Example response
{
  "_links": {
    "next": {
      "href": "/api/resourcelink"
    },
    "self": {
      "href": "/api/resourcelink"
    }
  },
  "records": [
    {
      "_links": {
        "self": {
          "href": "/api/resourcelink"
        }
      },
      "buckets": [
        {
          "aggregates": [
            {
              "_links": {
                "self": {
                  "href": "/api/resourcelink"
                }
              },
              "name": "aggr1",
              "uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
            }
          ],
          "comment": "S3 bucket.",
          "constituents_per_aggregate": "4",
          "logical_used_size": 0,
          "name": "bucket1",
          "policy": {
            "statements": [
              {
                "actions": [
                  "GetObject",
                  "PutObject",
                  "DeleteObject",
                  "ListBucket"
                ],
                "conditions": [
                  {
                    "delimiters": [
                      "/"
                    ],
                    "max_keys": [
                      "1000"
                    ],
                    "operator": "ip_address",
                    "prefixes": [
                      "pref"
                    ],
                    "source_ips": [
                      "1.1.1.1",
                      "1.2.2.0/24"
                    ],
                    "usernames": [
                      "user1"
                    ]
                  }
                ],
                "effect": "allow",
                "principals": [
                  "user1",
                  "group/grp1"
                ],
                "resources": [
                  "bucket1",
                  "bucket1/*"
                ],
                "sid": "FullAccessToUser1"
              }
            ]
          },
          "qos_policy": {
            "_links": {
              "self": {
                "href": "/api/resourcelink"
              }
            },
            "max_throughput_iops": "10000",
            "max_throughput_mbps": "500",
            "min_throughput_iops": "2000",
            "min_throughput_mbps": "500",
            "name": "performance",
            "uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
          },
          "size": "1677721600",
          "svm": {
            "_links": {
              "self": {
                "href": "/api/resourcelink"
              }
            },
            "name": "svm1",
            "uuid": "02c9e252-41be-11e9-81d5-00a0986138f7"
          },
          "uuid": "414b29a1-3b26-11e9-bd58-0050568ea055",
          "volume": {
            "_links": {
              "self": {
                "href": "/api/resourcelink"
              }
            },
            "name": "volume1",
            "uuid": "028baa66-41bd-11e9-81d5-00a0986138f7"
          }
        }
      ],
      "certificate": {
        "_links": {
          "self": {
            "href": "/api/resourcelink"
          }
        },
        "name": "cert1",
        "uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
      },
      "comment": "S3 server",
      "metric": {
        "_links": {
          "self": {
            "href": "/api/resourcelink"
          }
        },
        "duration": "PT15S",
        "iops": {
          "read": "200",
          "total": "1000",
          "write": "100"
        },
        "latency": {
          "read": "200",
          "total": "1000",
          "write": "100"
        },
        "status": "ok",
        "throughput": {
          "read": "200",
          "total": "1000",
          "write": "100"
        },
        "timestamp": "2017-01-25T11:20:13Z"
      },
      "name": "Server-1",
      "statistics": {
        "iops_raw": {
          "read": "200",
          "total": "1000",
          "write": "100"
        },
        "latency_raw": {
          "read": "200",
          "total": "1000",
          "write": "100"
        },
        "status": "ok",
        "throughput_raw": {
          "read": "200",
          "total": "1000",
          "write": "100"
        },
        "timestamp": "2017-01-25T11:20:13Z"
      },
      "svm": {
        "_links": {
          "self": {
            "href": "/api/resourcelink"
          }
        },
        "name": "svm1",
        "uuid": "02c9e252-41be-11e9-81d5-00a0986138f7"
      },
      "users": [
        {
          "access_key": "Pz3SB54G2B_6dsXQPrA5HrTPcf478qoAW6_Xx6qyqZ948AgZ_7YfCf_9nO87YoZmskxx3cq41U2JAH2M3_fs321B4rkzS3a_oC5_8u7D8j_45N8OsBCBPWGD_1d_ccfq",
          "comment": "S3 user",
          "name": "user-1",
          "svm": {
            "_links": {
              "self": {
                "href": "/api/resourcelink"
              }
            },
            "name": "svm1",
            "uuid": "02c9e252-41be-11e9-81d5-00a0986138f7"
          }
        }
      ]
    }
  ]
}

Error

Status: Default, Error
Name Type Description

error

error

Example error
{
  "error": {
    "arguments": [
      {
        "code": "string",
        "message": "string"
      }
    ],
    "code": "4",
    "message": "entry doesn't exist",
    "target": "uuid"
  }
}

Definitions

See Definitions

href

Name Type Description

href

string

Name Type Description

next

href

self

href

Name Type Description

self

href

Name Type Description

self

href

aggregates

Aggregate

Name Type Description

_links

_links

name

string

uuid

string

encryption

Name Type Description

enabled

boolean

Specifies whether encryption is enabled on the bucket. By default, encryption is disabled on a bucket.

s3_bucket_policy_condition

Information about policy conditions based on various condition operators and condition keys.

Name Type Description

delimiters

array[string]

An array of delimiters that are compared with the delimiter value specified at the time of execution of an S3-based command, using the condition operator specified.

max_keys

array[integer]

An array of maximum keys that are allowed or denied to be retrieved using an S3 list operation, based on the condition operator specified.

operator

string

Condition operator that is applied to the specified condition key.

prefixes

array[string]

An array of prefixes that are compared with the input prefix value specified at the time of execution of an S3-based command, using the condition operator specified.

source_ips

array[string]

An array of IP address ranges that are compared with the IP address of a source command at the time of execution of an S3-based command, using the condition operator specified.

usernames

array[string]

An array of usernames that a current user in the context is evaluated against using the condition operators.

s3_bucket_policy_statement

Specifies information about a single access permission.

Name Type Description

actions

array[string]

conditions

array[s3_bucket_policy_condition]

Specifies bucket policy conditions.

effect

string

Specifies whether access is allowed or denied when a user requests the specific action. If access (to allow) is not granted explicitly to a resource, access is implicitly denied. Access can also be denied explicitly to a resource, in order to make sure that a user cannot access it, even if a different policy grants access.

principals

array[string]

resources

array[string]

sid

string

Specifies the statement identifier used to differentiate between statements.

policy

A policy is an object associated with a bucket. It defines resource (bucket, folder, or object) permissions. These policies get evaluated when an S3 user makes a request by executing a specific command. The user must be part of the principal (user or group) specified in the policy. Permissions in the policies determine whether the request is allowed or denied.

Name Type Description

statements

array[s3_bucket_policy_statement]

Specifies bucket access policy statement.

qos_policy

Specifes "qos_policy.max_throughput_iops" and/or "qos_policy.max_throughput_mbps" or "qos_policy.min_throughput_iops". Specifes "min_throughput_iops" is only supported on volumes hosted on a node that is flash optimized. A pre-created QoS policy can also be used by specifying "qos_policy.name" or "qos_policy.uuid" properties. Setting or assigning a QoS policy to a bucket is not supported if its containing volume or SVM already has a QoS policy attached.

Name Type Description

_links

_links

max_throughput_iops

integer

Specifies the maximum throughput in IOPS, 0 means none. This is mutually exclusive with name and UUID during POST and PATCH.

max_throughput_mbps

integer

Specifies the maximum throughput in Megabytes per sec, 0 means none. This is mutually exclusive with name and UUID during POST and PATCH.

min_throughput_iops

integer

Specifies the minimum throughput in IOPS, 0 means none. Setting "min_throughput" is supported on AFF platforms only, unless FabricPool tiering policies are set. This is mutually exclusive with name and UUID during POST and PATCH.

min_throughput_mbps

integer

Specifies the minimum throughput in Megabytes per sec, 0 means none. This is mutually exclusive with name and UUID during POST and PATCH.

name

string

The QoS policy group name. This is mutually exclusive with UUID and other QoS attributes during POST and PATCH.

uuid

string

The QoS policy group UUID. This is mutually exclusive with name and other QoS attributes during POST and PATCH.

svm

Name Type Description

_links

_links

name

string

The name of the SVM.

uuid

string

The unique identifier of the SVM.

volume

Specifies the FlexGroup volume name and UUID where the bucket is hosted.

Name Type Description

_links

_links

name

string

The name of the volume.

uuid

string

Unique identifier for the volume. This corresponds to the instance-uuid that is exposed in the CLI and ONTAPI. It does not change due to a volume move.

  • example: 028baa66-41bd-11e9-81d5-00a0986138f7

  • Introduced in: 9.6

s3_bucket

A bucket is a container of objects. Each bucket defines an object namespace. S3 requests specify objects using a bucket-name and object-name pair. An object resides within a bucket.

Name Type Description

aggregates

array[aggregates]

A list of aggregates for FlexGroup volume constituents where the bucket is hosted. If this option is not specified, the bucket is auto-provisioned as a FlexGroup volume.

comment

string

Can contain any additional information about the bucket being created or modified.

constituents_per_aggregate

integer

Specifies the number of constituents or FlexVol volumes per aggregate. A FlexGroup volume consisting of all such constituents across all specified aggregates is created. This option is used along with the aggregates option and cannot be used independently.

encryption

encryption

logical_used_size

integer

Specifies the bucket logical used size up to this point.

name

string

Specifies the name of the bucket. Bucket name is a string that can only contain the following combination of ASCII-range alphanumeric characters 0-9, a-z, ".", and "-".

policy

policy

A policy is an object associated with a bucket. It defines resource (bucket, folder, or object) permissions. These policies get evaluated when an S3 user makes a request by executing a specific command. The user must be part of the principal (user or group) specified in the policy. Permissions in the policies determine whether the request is allowed or denied.

qos_policy

qos_policy

Specifes "qos_policy.max_throughput_iops" and/or "qos_policy.max_throughput_mbps" or "qos_policy.min_throughput_iops". Specifes "min_throughput_iops" is only supported on volumes hosted on a node that is flash optimized. A pre-created QoS policy can also be used by specifying "qos_policy.name" or "qos_policy.uuid" properties. Setting or assigning a QoS policy to a bucket is not supported if its containing volume or SVM already has a QoS policy attached.

size

integer

Specifies the bucket size in bytes; ranges from 80MB to 64TB.

svm

svm

uuid

string

Specifies the unique identifier of the bucket.

volume

volume

Specifies the FlexGroup volume name and UUID where the bucket is hosted.

certificate

Specifies the certificate that will be used for creating HTTPS connections to the S3 server.

Name Type Description

_links

_links

name

string

Certificate name

uuid

string

Certificate UUID

iops

The rate of I/O operations observed at the storage object.

Name Type Description

other

integer

Performance metric for other I/O operations. Other I/O operations can be metadata operations, such as directory lookups and so on.

read

integer

Performance metric for read I/O operations.

total

integer

Performance metric aggregated over all types of I/O operations.

write

integer

Peformance metric for write I/O operations.

latency

The round trip latency in microseconds observed at the storage object.

Name Type Description

other

integer

Performance metric for other I/O operations. Other I/O operations can be metadata operations, such as directory lookups and so on.

read

integer

Performance metric for read I/O operations.

total

integer

Performance metric aggregated over all types of I/O operations.

write

integer

Peformance metric for write I/O operations.

throughput

The rate of throughput bytes per second observed at the storage object.

Name Type Description

read

integer

Performance metric for read I/O operations.

total

integer

Performance metric aggregated over all types of I/O operations.

write

integer

Peformance metric for write I/O operations.

metric

Performance numbers, such as IOPS latency and throughput, for SVM protocols.

Name Type Description

_links

_links

duration

string

The duration over which this sample is calculated. The time durations are represented in the ISO-8601 standard format. Samples can be calculated over the following durations:

iops

iops

The rate of I/O operations observed at the storage object.

latency

latency

The round trip latency in microseconds observed at the storage object.

status

string

Any errors associated with the sample. For example, if the aggregation of data over multiple nodes fails then any of the partial errors might be returned, "ok" on success, or "error" on any internal uncategorized failure. Whenever a sample collection is missed but done at a later time, it is back filled to the previous 15 second timestamp and tagged with "backfilled_data". "Inconsistent_ delta_time" is encountered when the time between two collections is not the same for all nodes. Therefore, the aggregated value might be over or under inflated. "Negative_delta" is returned when an expected monotonically increasing value has decreased in value. "Inconsistent_old_data" is returned when one or more nodes do not have the latest data.

throughput

throughput

The rate of throughput bytes per second observed at the storage object.

timestamp

string

The timestamp of the performance data.

iops_raw

The number of I/O operations observed at the storage object. This should be used along with delta time to calculate the rate of I/O operations per unit of time.

Name Type Description

other

integer

Performance metric for other I/O operations. Other I/O operations can be metadata operations, such as directory lookups and so on.

read

integer

Performance metric for read I/O operations.

total

integer

Performance metric aggregated over all types of I/O operations.

write

integer

Peformance metric for write I/O operations.

latency_raw

The raw latency in microseconds observed at the storage object. This should be divided by the raw IOPS value to calculate the average latency per I/O operation.

Name Type Description

other

integer

Performance metric for other I/O operations. Other I/O operations can be metadata operations, such as directory lookups and so on.

read

integer

Performance metric for read I/O operations.

total

integer

Performance metric aggregated over all types of I/O operations.

write

integer

Peformance metric for write I/O operations.

throughput_raw

Throughput bytes observed at the storage object. This should be used along with delta time to calculate the rate of throughput bytes per unit of time.

Name Type Description

read

integer

Performance metric for read I/O operations.

total

integer

Performance metric aggregated over all types of I/O operations.

write

integer

Peformance metric for write I/O operations.

statistics

These are raw performance numbers, such as IOPS latency and throughput for SVM protocols. These numbers are aggregated across all nodes in the cluster and increase with the uptime of the cluster.

Name Type Description

iops_raw

iops_raw

The number of I/O operations observed at the storage object. This should be used along with delta time to calculate the rate of I/O operations per unit of time.

latency_raw

latency_raw

The raw latency in microseconds observed at the storage object. This should be divided by the raw IOPS value to calculate the average latency per I/O operation.

status

string

Any errors associated with the sample. For example, if the aggregation of data over multiple nodes fails then any of the partial errors might be returned, "ok" on success, or "error" on any internal uncategorized failure. Whenever a sample collection is missed but done at a later time, it is back filled to the previous 15 second timestamp and tagged with "backfilled_data". "Inconsistent_delta_time" is encountered when the time between two collections is not the same for all nodes. Therefore, the aggregated value might be over or under inflated. "Negative_delta" is returned when an expected monotonically increasing value has decreased in value. "Inconsistent_old_data" is returned when one or more nodes do not have the latest data.

throughput_raw

throughput_raw

Throughput bytes observed at the storage object. This should be used along with delta time to calculate the rate of throughput bytes per unit of time.

timestamp

string

The timestamp of the performance data.

s3_user

This is a container of S3 users.

Name Type Description

access_key

string

Specifies the access key for the user.

comment

string

Can contain any additional information about the user being created or modified.

name

string

Specifies the name of the user. A user name length can range from 1 to 64 characters and can only contain the following combination of characters 0-9, A-Z, a-z, "_", "+", "=", ",", ".","@", and "-".

svm

svm

s3_service

Specifies the S3 server configuration.

Name Type Description

_links

self_link

buckets

array[s3_bucket]

certificate

certificate

Specifies the certificate that will be used for creating HTTPS connections to the S3 server.

comment

string

Can contain any additional information about the server being created or modified.

enabled

boolean

Specifies whether the S3 server being created or modified should be up or down.

is_http_enabled

boolean

Specifies whether HTTP is enabled on the S3 server being created or modified. By default, HTTP is disabled on the S3 server.

is_https_enabled

boolean

Specifies whether HTTPS is enabled on the S3 server being created or modified. By default, HTTPS is enabled on the S3 server.

metric

metric

Performance numbers, such as IOPS latency and throughput, for SVM protocols.

name

string

Specifies the name of the S3 server. A server name can contain 0 to 15 characters using only the following combination of characters':' 0-9, A-Z, a-z, ".", and "-".

port

integer

Specifies the HTTP listener port for the S3 server. By default, HTTP is enabled on port 80.

secure_port

integer

Specifies the HTTPS listener port for the S3 server. By default, HTTPS is enabled on port 443.

statistics

statistics

These are raw performance numbers, such as IOPS latency and throughput for SVM protocols. These numbers are aggregated across all nodes in the cluster and increase with the uptime of the cluster.

svm

svm

users

array[s3_user]

error_arguments

Name Type Description

code

string

Argument code

message

string

Message argument

error

Name Type Description

arguments

array[error_arguments]

Message arguments

code

string

Error code

message

string

Error message

target

string

The target parameter that caused the error.