Amazon EFS API

API for managing Amazon EFS file systems, mount targets, and related resources.

Documentation

Specifications

Examples

Schemas & Data

Other Resources

OpenAPI Specification

amazon-efs-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Amazon EFS Amazon Elastic File System (EFS) API
  description: Amazon EFS provides a simple, serverless, set-and-forget elastic file system for use with AWS cloud services and on-premises resources.
  version: '2015-02-01'
  contact:
    name: Kin Lane
    email: [email protected]
    url: https://aws.amazon.com/efs/
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: https://elasticfilesystem.amazonaws.com
  description: Amazon EFS API endpoint
paths:
  /2015-02-01/file-systems:
    post:
      operationId: createFileSystem
      summary: Amazon EFS Create File System
      description: Creates a new, empty file system. The operation requires a creation token in the request that Amazon EFS uses to ensure idempotent creation.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - CreationToken
              properties:
                CreationToken:
                  type: string
                  description: A string of up to 64 ASCII characters used to ensure idempotent creation.
                PerformanceMode:
                  type: string
                  enum:
                  - generalPurpose
                  - maxIO
                  description: The performance mode of the file system.
                Encrypted:
                  type: boolean
                  description: A Boolean value that, if true, creates an encrypted file system.
                KmsKeyId:
                  type: string
                  description: The ID of the KMS key to use for encryption.
                ThroughputMode:
                  type: string
                  enum:
                  - bursting
                  - provisioned
                  - elastic
                  description: Specifies the throughput mode for the file system.
                ProvisionedThroughputInMibps:
                  type: number
                  description: The throughput, measured in MiB/s, when ThroughputMode is provisioned.
                Tags:
                  type: array
                  items:
                    type: object
                    properties:
                      Key:
                        type: string
                      Value:
                        type: string
                  description: Tags to associate with the file system.
            examples:
              createFileSystemRequestExample:
                summary: Default createFileSystem request
                x-microcks-default: true
                value: {}
      responses:
        '201':
          description: Successful response with the created file system details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileSystem'
              examples:
                createFileSystem201Example:
                  summary: Default createFileSystem 201 response
                  x-microcks-default: true
                  value:
                    FileSystemId: example-id-1234
                    FileSystemArn: arn:aws:service:us-east-1:123456789012:resource/example
                    CreationToken: example-string
                    OwnerId: example-id-1234
                    CreationTime: '2025-03-15T14:30:00Z'
        '400':
          description: Bad request error.
      tags:
      - 2015 02 01
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    get:
      operationId: describeFileSystems
      summary: Amazon EFS Describe File Systems
      description: Returns the description of a specific Amazon EFS file system or all file systems owned by the caller.
      parameters:
      - name: CreationToken
        in: query
        schema:
          type: string
        description: Restricts the list to the file system with this creation token.
        example: example-string
      - name: FileSystemId
        in: query
        schema:
          type: string
        description: The ID of the file system to describe.
        example: example-id-1234
      - name: MaxItems
        in: query
        schema:
          type: integer
        description: The maximum number of file systems to return.
        example: 1
      - name: Marker
        in: query
        schema:
          type: string
        description: An opaque pagination token returned from a previous request.
        example: example-string
      responses:
        '200':
          description: Successful response with file system details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DescribeFileSystemsResponse'
              examples:
                describeFileSystems200Example:
                  summary: Default describeFileSystems 200 response
                  x-microcks-default: true
                  value:
                    FileSystems:
                    - example-string
                    Marker: example-string
                    NextMarker: example-string
        '400':
          description: Bad request error.
      tags:
      - 2015 02 01
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /2015-02-01/file-systems/{FileSystemId}:
    delete:
      operationId: deleteFileSystem
      summary: Amazon EFS Delete File System
      description: Deletes a file system, permanently severing access to its contents. You must delete all mount targets associated with the file system before you can delete it.
      parameters:
      - name: FileSystemId
        in: path
        required: true
        schema:
          type: string
        description: The ID of the file system to delete.
        example: example-id-1234
      responses:
        '204':
          description: Successful deletion, no content returned.
        '404':
          description: File system not found.
      tags:
      - 2015 02 01
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /2015-02-01/mount-targets:
    post:
      operationId: createMountTarget
      summary: Amazon EFS Create Mount Target
      description: Creates a mount target for a file system. You can then mount the file system on EC2 instances by using the mount target.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - FileSystemId
              - SubnetId
              properties:
                FileSystemId:
                  type: string
                  description: The ID of the file system for which to create the mount target.
                SubnetId:
                  type: string
                  description: The ID of the subnet to add the mount target in.
                IpAddress:
                  type: string
                  description: A valid IPv4 address within the subnet's address range.
                SecurityGroups:
                  type: array
                  items:
                    type: string
                  description: Up to five VPC security group IDs to associate with the mount target.
            examples:
              createMountTargetRequestExample:
                summary: Default createMountTarget request
                x-microcks-default: true
                value: {}
      responses:
        '200':
          description: Successful response with the mount target details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MountTarget'
              examples:
                createMountTarget200Example:
                  summary: Default createMountTarget 200 response
                  x-microcks-default: true
                  value:
                    MountTargetId: example-id-1234
                    FileSystemId: example-id-1234
                    SubnetId: example-id-1234
                    LifeCycleState: available
                    IpAddress: example-string
        '400':
          description: Bad request error.
      tags:
      - 2015 02 01
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    get:
      operationId: describeMountTargets
      summary: Amazon EFS Describe Mount Targets
      description: Returns the descriptions of all the current mount targets for a file system.
      parameters:
      - name: FileSystemId
        in: query
        schema:
          type: string
        description: The ID of the file system whose mount targets to list.
        example: example-id-1234
      - name: MountTargetId
        in: query
        schema:
          type: string
        description: The ID of the mount target to describe.
        example: example-id-1234
      - name: MaxItems
        in: query
        schema:
          type: integer
        description: The maximum number of mount targets to return.
        example: 1
      - name: Marker
        in: query
        schema:
          type: string
        description: An opaque pagination token returned from a previous request.
        example: example-string
      responses:
        '200':
          description: Successful response with mount target details.
          content:
            application/json:
              schema:
                type: object
                properties:
                  MountTargets:
                    type: array
                    items:
                      $ref: '#/components/schemas/MountTarget'
                  Marker:
                    type: string
                  NextMarker:
                    type: string
              examples:
                describeMountTargets200Example:
                  summary: Default describeMountTargets 200 response
                  x-microcks-default: true
                  value:
                    MountTargets:
                    - example-string
                    Marker: example-string
                    NextMarker: example-string
        '400':
          description: Bad request error.
      tags:
      - 2015 02 01
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    DescribeFileSystemsResponse:
      type: object
      properties:
        FileSystems:
          type: array
          items:
            $ref: '#/components/schemas/FileSystem'
          example:
          - example-string
        Marker:
          type: string
          example: example-string
        NextMarker:
          type: string
          example: example-string
    FileSystem:
      type: object
      properties:
        FileSystemId:
          type: string
          description: The ID of the file system.
          example: example-id-1234
        FileSystemArn:
          type: string
          description: The Amazon Resource Name (ARN) of the file system.
          example: arn:aws:service:us-east-1:123456789012:resource/example
        CreationToken:
          type: string
          description: The opaque string specified in the request.
          example: example-string
        OwnerId:
          type: string
          description: The AWS account that created the file system.
          example: example-id-1234
        CreationTime:
          type: string
          format: date-time
          description: The time that the file system was created.
          example: '2025-03-15T14:30:00Z'
        LifeCycleState:
          type: string
          enum:
          - creating
          - available
          - updating
          - deleting
          - deleted
          - error
          description: The lifecycle phase of the file system.
          example: creating
        Name:
          type: string
          description: The value of the Name tag if set.
          example: example-resource-name
        NumberOfMountTargets:
          type: integer
          description: The current number of mount targets that the file system has.
          example: 1
        SizeInBytes:
          type: object
          properties:
            Value:
              type: integer
              description: The latest known metered size of data stored in the file system, in bytes.
            Timestamp:
              type: string
              format: date-time
            ValueInIA:
              type: integer
            ValueInStandard:
              type: integer
          description: The latest known metered size of data stored in the file system.
          example:
            Value: 1
            Timestamp: '2025-03-15T14:30:00Z'
            ValueInIA: 1
        PerformanceMode:
          type: string
          enum:
          - generalPurpose
          - maxIO
          description: The performance mode of the file system.
          example: generalPurpose
        Encrypted:
          type: boolean
          description: A Boolean value that, if true, indicates that the file system is encrypted.
          example: true
        KmsKeyId:
          type: string
          description: The ID of the KMS key used for encryption.
          example: example-id-1234
        ThroughputMode:
          type: string
          enum:
          - bursting
          - provisioned
          - elastic
          description: Displays the throughput mode for the file system.
          example: bursting
        ProvisionedThroughputInMibps:
          type: number
          description: The amount of provisioned throughput, in MiB/s.
          example: 1.0
        Tags:
          type: array
          items:
            type: object
            properties:
              Key:
                type: string
              Value:
                type: string
          description: The tags associated with the file system.
          example:
          - Key: example-string
            Value: example-string
    MountTarget:
      type: object
      properties:
        MountTargetId:
          type: string
          description: System-assigned mount target ID.
          example: example-id-1234
        FileSystemId:
          type: string
          description: The ID of the file system for which the mount target is intended.
          example: example-id-1234
        SubnetId:
          type: string
          description: The ID of the subnet.
          example: example-id-1234
        LifeCycleState:
          type: string
          description: Lifecycle state of the mount target.
          example: available
        IpAddress:
          type: string
          description: Address at which the file system is mountable.
          example: example-string
        NetworkInterfaceId:
          type: string
          description: The ID of the network interface.
          example: example-id-1234
        AvailabilityZoneId:
          type: string
          description: The unique and consistent identifier of the Availability Zone.
          example: example-id-1234
        AvailabilityZoneName:
          type: string
          description: The name of the Availability Zone.
          example: example-resource-name
        VpcId:
          type: string
          description: The Virtual Private Cloud ID.
          example: example-id-1234
  securitySchemes:
    aws_sigv4:
      type: apiKey
      name: Authorization
      in: header
      description: AWS Signature Version 4 authentication.
tags:
- name: 2015 02 01