Eon

Eon backupPolicies API

Define and manage backup policies and schedules.

OpenAPI Specification

eon-backuppolicies-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  description: The Eon.io REST API
  title: Eon accounts backupPolicies API
  version: 1.0.0
servers:
- url: /
security:
- ApiKeyAuth: []
tags:
- description: Define and manage backup policies and schedules.
  name: backupPolicies
  x-displayName: Backup Policies
paths:
  /v1/projects/{projectId}/backup-policies:
    post:
      description: 'Description: Creates a backup policy.'
      operationId: createBackupPolicy
      parameters:
      - description: 'ID of the project you want to create a backup policy in.

          You can get your project ID from the [API Credentials](https://console.eon.io/global-management/api-credentials) page in your global management console.

          '
        example: 733888d8-2573-5f9a-b81d-21f051d24fda
        explode: false
        in: path
        name: projectId
        required: true
        schema:
          format: uuid
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateBackupPolicyRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateBackupPolicyResponse'
          description: Backup policy created.
        1XX:
          description: Informational
        3XX:
          description: Redirect
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Client Error
        5XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal Server Error
      summary: Create Backup Policy
      tags:
      - backupPolicies
      x-mcp: true
      x-internal: false
      x-data-access:
        excluded: true
        entityRefs:
        - entityType: backup_policy_retention
          in: reqBody
          key: backupPlan
      x-permissions:
      - create:policies
      x-audit-log:
        action: create
        entityRefs:
        - entityType: backup_policy
          in: resBody
          key: backupPolicy.id
  /v1/projects/{projectId}/backup-policies/list:
    post:
      description: 'Description: Retrieves a list of backup policies in the specified project.

        '
      operationId: listBackupPolicies
      parameters:
      - description: 'ID of the project whose backup policies you want to retrieve.

          You can get your project ID from the [API Credentials](https://console.eon.io/global-management/api-credentials) page in your global management console.

          '
        example: 6b3ea428-f6a4-5bb5-8fb2-e4d5d2d920ce
        explode: false
        in: path
        name: projectId
        required: true
        schema:
          format: uuid
          type: string
        style: simple
      - allowEmptyValue: true
        description: 'Cursor that points to the first record of the next page of results.

          Get this value from the previous response.

          To preserve the results in the same order, use the same sorting and filters in the first request as all subsequent requests.

          '
        example: Yjk3ODZjNjktZTIwZC00NjAxLWE1MzktZjg2NGExM2IxYTZlfDE=
        explode: true
        in: query
        name: pageToken
        required: false
        schema:
          format: tobedefined
          type: string
        style: form
      - description: Maximum number of items to return in the response.
        example: 10
        explode: true
        in: query
        name: pageSize
        required: false
        schema:
          default: 50
          minimum: 1
          type: integer
        style: form
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListBackupPoliciesResponse'
          description: Backup policies retrieved.
        1XX:
          description: Informational
        3XX:
          description: Redirect
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Client Error
        5XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal Server Error
      summary: List Backup Policies
      tags:
      - backupPolicies
      x-mcp: true
      x-internal: false
      x-data-access:
        excluded: true
      x-permissions:
      - read:policies
      x-audit-log:
        excluded: true
  /v1/projects/{projectId}/backup-policies/{backupPolicyId}:
    delete:
      description: 'Description: Deletes a backup policy.'
      operationId: deleteBackupPolicy
      parameters:
      - description: 'ID of the project whose backup policy you want to delete.

          You can get your project ID from the [API Credentials](https://console.eon.io/global-management/api-credentials) page in your global management console.

          '
        example: 6b3ea428-f6a4-5bb5-8fb2-e4d5d2d920ce
        explode: false
        in: path
        name: projectId
        required: true
        schema:
          format: uuid
          type: string
        style: simple
      - description: ID of the backup policy to delete.
        explode: false
        in: path
        name: backupPolicyId
        required: true
        schema:
          format: uuid
          type: string
        style: simple
      - description: 'ID of an APPROVED action approval request authorizing this operation. When set, the gateway

          validates the request envelope still matches the captured one and atomically

          marks it EXECUTED before letting the operation run. Single-use; ignored on routes

          that are not action-approval-protected.

          '
        explode: false
        in: header
        name: X-Action-Approval-Request-Id
        required: false
        schema:
          format: uuid
          type: string
        style: simple
      responses:
        '200':
          description: Backup policy deleted.
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MPAInterceptedResponse'
          description: 'The operation is MPA-protected. An MPA request was created in CREATED status.

            The caller should confirm via the submit endpoint (POST .../submit with action CONFIRM)

            or discard (action DISCARD). The operation did not run.

            '
        '404':
          description: Backup policy wasn't found, or the action approval request id in X-Action-Approval-Request-Id was not found.
          x-docs-public-description: Backup policy wasn't found.
        1XX:
          description: Informational
        3XX:
          description: Redirect
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Client Error
        5XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal Server Error
      summary: Delete Backup Policy
      tags:
      - backupPolicies
      x-internal: false
      x-data-access:
        excluded: true
      x-permissions:
      - delete:policies
      x-audit-log:
        action: delete
        entityRefs:
        - entityType: backup_policy
          in: path
          key: backupPolicyId
      x-mpa:
        operation: MPA_OPERATION_DELETE_BACKUP_POLICY
        target:
          entityType: backup_policy
          in: path
          key: backupPolicyId
    get:
      description: 'Description: Retrieves a backup policy.'
      operationId: getBackupPolicy
      parameters:
      - description: 'ID of the project whose backup policy you want to retrieve.

          You can get your project ID from the [API Credentials](https://console.eon.io/global-management/api-credentials) page in your global management console.

          '
        example: 6b3ea428-f6a4-5bb5-8fb2-e4d5d2d920ce
        explode: false
        in: path
        name: projectId
        required: true
        schema:
          format: uuid
          type: string
        style: simple
      - description: ID of the backup policy to retrieve.
        explode: false
        in: path
        name: backupPolicyId
        required: true
        schema:
          format: uuid
          type: string
        style: simple
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetBackupPolicyResponse'
          description: Backup policy retrieved.
        '404':
          description: Backup policy wasn't found.
        1XX:
          description: Informational
        3XX:
          description: Redirect
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Client Error
        5XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal Server Error
      summary: Get Backup Policy
      tags:
      - backupPolicies
      x-mcp: true
      x-internal: false
      x-data-access:
        excluded: true
      x-permissions:
      - read:policies
      x-audit-log:
        excluded: true
    put:
      description: 'Description: Updates a backup policy.'
      operationId: updateBackupPolicy
      parameters:
      - description: 'ID of the project whose backup policy you want to update.

          You can get your project ID from the [API Credentials](https://console.eon.io/global-management/api-credentials) page in your global management console.

          '
        example: 6b3ea428-f6a4-5bb5-8fb2-e4d5d2d920ce
        explode: false
        in: path
        name: projectId
        required: true
        schema:
          format: uuid
          type: string
        style: simple
      - description: ID of the backup policy to update.
        explode: false
        in: path
        name: backupPolicyId
        required: true
        schema:
          format: uuid
          type: string
        style: simple
      - description: 'ID of an APPROVED action approval request authorizing this operation. When set, the gateway

          validates the request envelope still matches the captured one and atomically

          marks it EXECUTED before letting the operation run. Single-use; ignored on routes

          that are not action-approval-protected.

          '
        explode: false
        in: header
        name: X-Action-Approval-Request-Id
        required: false
        schema:
          format: uuid
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateBackupPolicyRequest'
        description: The request body for updating a policy
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateBackupPolicyResponse'
          description: Backup policy updated.
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MPAInterceptedResponse'
          description: 'The operation is MPA-protected. An MPA request was created in CREATED status.

            The caller should confirm via the submit endpoint (POST .../submit with action CONFIRM)

            or discard (action DISCARD). The operation did not run.

            '
        '404':
          description: Backup policy wasn't found, or the action approval request id in X-Action-Approval-Request-Id was not found.
          x-docs-public-description: Backup policy wasn't found.
        1XX:
          description: Informational
        3XX:
          description: Redirect
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Client Error
        5XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal Server Error
      summary: Update Backup Policy
      tags:
      - backupPolicies
      x-internal: false
      x-data-access:
        excluded: true
        entityRefs:
        - entityType: backup_policy_retention
          in: reqBody
          key: backupPlan
      x-permissions:
      - update:policies
      x-audit-log:
        action: update
        entityRefs:
        - entityType: backup_policy
          in: path
          key: backupPolicyId
      x-mpa:
        operation: MPA_OPERATION_UPDATE_BACKUP_POLICY
        target:
          entityType: backup_policy
          in: path
          key: backupPolicyId
components:
  schemas:
    AccountIdCondition:
      example:
        accountIds:
        - accountIds
        - accountIds
        operator: IN
      nullable: true
      properties:
        operator:
          $ref: '#/components/schemas/ScalarOperators'
        accountIds:
          items:
            type: string
          type: array
      required:
      - accountIds
      - operator
      type: object
    TagKeyValuesCondition:
      example:
        tagKeyValues:
        - value: value
          key: key
        - value: value
          key: key
        operator: CONTAINS_ANY_OF
      nullable: true
      properties:
        operator:
          $ref: '#/components/schemas/ListOperators'
        tagKeyValues:
          items:
            $ref: '#/components/schemas/TagKeyValue'
          type: array
      required:
      - operator
      - tagKeyValues
      type: object
    EnvironmentCondition:
      example:
        environments:
        - PROD
        - PROD
        operator: IN
      nullable: true
      properties:
        operator:
          $ref: '#/components/schemas/ScalarOperators'
        environments:
          items:
            $ref: '#/components/schemas/Environment'
          type: array
      required:
      - environments
      - operator
      type: object
    Provider:
      description: 'Cloud provider.

        `PROVIDER_UNSPECIFIED` is supported only in responses.

        '
      enum:
      - AWS
      - AZURE
      - GCP
      - MONGO_ATLAS
      - GOOGLE_WORKSPACE
      - MICROSOFT_365
      - PROVIDER_UNSPECIFIED
      example: AWS
      type: string
      x-docs-internal-enum:
      - GOOGLE_WORKSPACE
      - MICROSOFT_365
    TimeOfYear:
      example:
        month: 5
        dayOfMonth: 14
      properties:
        month:
          default: 1
          example: 5
          maximum: 12
          minimum: 1
          type: integer
        dayOfMonth:
          default: 1
          example: 14
          maximum: 31
          minimum: 1
          type: integer
      required:
      - dayOfMonth
      - month
      type: object
    StandardBackupPolicyPlan:
      example:
        backupSchedules:
        - vaultId: 0b8d140a-f4fe-58bf-afd7-a57f073d72c5
          scheduleConfig:
            monthlyConfig:
              startWindowMinutes: 240
              daysOfMonth:
              - 5
              - 10
              - 15
              timeOfDay:
                hour: 12
                minute: 30
            intervalConfig:
              intervalHours: 8
            weeklyConfig:
              startWindowMinutes: 240
              daysOfWeek:
              - MON
              - THU
              timeOfDay:
                hour: 12
                minute: 30
            annuallyConfig:
              startWindowMinutes: 240
              timeOfYear:
                month: 5
                dayOfMonth: 14
              timeOfDay:
                hour: 12
                minute: 30
            dailyConfig:
              startWindowMinutes: 240
              timeOfDay:
                hour: 12
                minute: 30
            frequency: WEEKLY
          backupRetentionDays: 30
        - vaultId: 0b8d140a-f4fe-58bf-afd7-a57f073d72c5
          scheduleConfig:
            monthlyConfig:
              startWindowMinutes: 240
              daysOfMonth:
              - 5
              - 10
              - 15
              timeOfDay:
                hour: 12
                minute: 30
            intervalConfig:
              intervalHours: 8
            weeklyConfig:
              startWindowMinutes: 240
              daysOfWeek:
              - MON
              - THU
              timeOfDay:
                hour: 12
                minute: 30
            annuallyConfig:
              startWindowMinutes: 240
              timeOfYear:
                month: 5
                dayOfMonth: 14
              timeOfDay:
                hour: 12
                minute: 30
            dailyConfig:
              startWindowMinutes: 240
              timeOfDay:
                hour: 12
                minute: 30
            frequency: WEEKLY
          backupRetentionDays: 30
      nullable: true
      properties:
        backupSchedules:
          description: 'List of backup schedules.

            Each schedule specifies a backup frequency, retention period, and vault.

            '
          items:
            $ref: '#/components/schemas/StandardBackupSchedules'
          type: array
      required:
      - backupSchedules
      type: object
    ResourceNameCondition:
      example:
        resourceNames:
        - resourceNames
        - resourceNames
        operator: IN
      nullable: true
      properties:
        operator:
          $ref: '#/components/schemas/ScalarOperators'
        resourceNames:
          items:
            type: string
          type: array
      required:
      - operator
      - resourceNames
      type: object
    UpdateBackupPolicyResponse:
      example:
        backupPolicy:
          name: Production with PII
          backupPlan:
            backupPolicyType: STANDARD
            awsNativePitrPlan:
              retentionDays: 7
              resourceType:
                resourceType: AWS_RDS
            highFrequencyPlan:
              resourceTypes:
              - resourceType: AWS_S3
              - resourceType: AWS_S3
              backupSchedules:
              - vaultId: 0b8d140a-f4fe-58bf-afd7-a57f073d72c5
                scheduleConfig:
                  monthlyConfig:
                    startWindowMinutes: 240
                    daysOfMonth:
                    - 5
                    - 10
                    - 15
                    timeOfDay:
                      hour: 12
                      minute: 30
                  intervalConfig:
                    intervalMinutes: 360
                  weeklyConfig:
                    startWindowMinutes: 240
                    daysOfWeek:
                    - MON
                    - THU
                    timeOfDay:
                      hour: 12
                      minute: 30
                  annuallyConfig:
                    startWindowMinutes: 240
                    timeOfYear:
                      month: 5
                      dayOfMonth: 14
                    timeOfDay:
                      hour: 12
                      minute: 30
                  dailyConfig:
                    startWindowMinutes: 240
                    timeOfDay:
                      hour: 12
                      minute: 30
                  frequency: WEEKLY
                backupRetentionDays: 30
              - vaultId: 0b8d140a-f4fe-58bf-afd7-a57f073d72c5
                scheduleConfig:
                  monthlyConfig:
                    startWindowMinutes: 240
                    daysOfMonth:
                    - 5
                    - 10
                    - 15
                    timeOfDay:
                      hour: 12
                      minute: 30
                  intervalConfig:
                    intervalMinutes: 360
                  weeklyConfig:
                    startWindowMinutes: 240
                    daysOfWeek:
                    - MON
                    - THU
                    timeOfDay:
                      hour: 12
                      minute: 30
                  annuallyConfig:
                    startWindowMinutes: 240
                    timeOfYear:
                      month: 5
                      dayOfMonth: 14
                    timeOfDay:
                      hour: 12
                      minute: 30
                  dailyConfig:
                    startWindowMinutes: 240
                    timeOfDay:
                      hour: 12
                      minute: 30
                  frequency: WEEKLY
                backupRetentionDays: 30
            standardPlan:
              backupSchedules:
              - vaultId: 0b8d140a-f4fe-58bf-afd7-a57f073d72c5
                scheduleConfig:
                  monthlyConfig:
                    startWindowMinutes: 240
                    daysOfMonth:
                    - 5
                    - 10
                    - 15
                    timeOfDay:
                      hour: 12
                      minute: 30
                  intervalConfig:
                    intervalHours: 8
                  weeklyConfig:
                    startWindowMinutes: 240
                    daysOfWeek:
                    - MON
                    - THU
                    timeOfDay:
                      hour: 12
                      minute: 30
                  annuallyConfig:
                    startWindowMinutes: 240
                    timeOfYear:
                      month: 5
                      dayOfMonth: 14
                    timeOfDay:
                      hour: 12
                      minute: 30
                  dailyConfig:
                    startWindowMinutes: 240
                    timeOfDay:
                      hour: 12
                      minute: 30
                  frequency: WEEKLY
                backupRetentionDays: 30
              - vaultId: 0b8d140a-f4fe-58bf-afd7-a57f073d72c5
                scheduleConfig:
                  monthlyConfig:
                    startWindowMinutes: 240
                    daysOfMonth:
                    - 5
                    - 10
                    - 15
                    timeOfDay:
                      hour: 12
                      minute: 30
                  intervalConfig:
                    intervalHours: 8
                  weeklyConfig:
                    startWindowMinutes: 240
                    daysOfWeek:
                    - MON
                    - THU
                    timeOfDay:
                      hour: 12
                      minute: 30
                  annuallyConfig:
                    startWindowMinutes: 240
                    timeOfYear:
                      month: 5
                      dayOfMonth: 14
                    timeOfDay:
                      hour: 12
                      minute: 30
                  dailyConfig:
                    startWindowMinutes: 240
                    timeOfDay:
                      hour: 12
                      minute: 30
                  frequency: WEEKLY
                backupRetentionDays: 30
          id: de308488-df3d-5b82-8f37-477ef529f491
          resourceSelector:
            expression:
              resourceId:
                operator: IN
                resourceIds:
                - resourceIds
                - resourceIds
              resourceGroupName:
                resourceGroupNames:
                - resourceGroupNames
                - resourceGroupNames
                operator: IN
              tagKeys:
                tagKeys:
                - tagKeys
                - tagKeys
                operator: CONTAINS_ANY_OF
              vpc:
                vpcs:
                - vpcs
                - vpcs
                operator: IN
              resourceName:
                resourceNames:
                - resourceNames
                - resourceNames
                operator: IN
              dataClasses:
                dataClasses:
                - PII
                - PII
                operator: CONTAINS_ANY_OF
              globalClusterIdentifier:
                operator: IN
                globalClusterIdentifier:
                - globalClusterIdentifier
                - globalClusterIdentifier
              accountId:
                accountIds:
                - accountIds
                - accountIds
                operator: IN
              environment:
                environments:
                - PROD
                - PROD
                operator: IN
              tagKeyValues:
                tagKeyValues:
                - value: value
                  key: key
                - value: value
                  key: key
                operator: CONTAINS_ANY_OF
              cloudProvider:
                cloudProviders:
                - AWS
                - AWS
                operator: IN
              sourceRegion:
                regions:
                - regions
                - regions
                operator: IN
              subnets:
                subnets:
                - subnets
                - subnets
                operator: CONTAINS_ANY_OF
              group:
                operands:
                - resourceType:
                    operator: IN
                    resourceTypes:
                    - AWS_EC2
                    - AWS_RDS
                - environment:
                    operator: IN
                    environments:
                    - PROD
                    - PROD_INTERNAL
                operator: AND
              resourceType:
                resourceTypes:
                - AWS_EC2
                - AWS_EC2
                operator: IN
              apps:
                operator: CONTAINS_ANY_OF
                apps:
                - apps
                - apps
            resourceSelectionMode: CONDITIONAL
            resourceExclusionOverride:
            - i-0b0f5b5ef75b1c009
            - 43d9cc0b-b633-5431-93d0-38aa70a13745
            resourceInclusionOverride:
            - cluster-3RYR75ARQOPQJ6MCRKTQFDR2GE
            - db-FE4MOD3UCIYIQKXF3UVTCB55FA
          enabled: true
      properties:
        backupPolicy:
          $ref: '#/components/schemas/BackupPolicy'
      required:
      - backupPolicy
      type: object
    TagKeysCondition:
      example:
        tagKeys:
        - tagKeys
        - tagKeys
        operator: CONTAINS_ANY_OF
      nullable: true
      properties:
        operator:
          $ref: '#/components/schemas/ListOperators'
        tagKeys:
          items:
            type: string
          type: array
      required:
      - operator
      - tagKeys
      type: object
    ListOperators:
      description: 'Evaluates whether the original list constains any, all, or none of the values in this list.

        `UNSPECIFIED` is supported only in responses.

        '
      enum:
      - CONTAINS_ANY_OF
      - CONTAINS_NONE_OF
      - CONTAINS_ALL_OF
      - UNSPECIFIED
      example: CONTAINS_ANY_OF
      type: string
      x-enum-varnames:
      - CONTAINS_ANY_OF_OPERATOR
      - CONTAINS_NONE_OF_OPERATOR
      - CONTAINS_ALL_OF_OPERATOR
      - LIST_OPERATOR_UNSPECIFIED
    HighFrequencyBackupResourceType:
      example:
        resourceType: AWS_S3
      properties:
        resourceType:
          allOf:
          - $ref: '#/components/schemas/ResourceType'
          - enum:
            - AWS_S3
            - AWS_DYNAMO_DB
            - GCP_CLOUD_STORAGE_BUCKET
            - AWS_EC2
            - AWS_RDS
            - RESOURCE_TYPE_UNSPECIFIED
            type: string
          example: AWS_S3
      type: object
    WeeklyConfig:
      example:
        startWindowMinutes: 240
        daysOfWeek:
        - MON
        - THU
        timeOfDay:
          hour: 12
          minute: 30
      nullable: true
      properties:
        daysOfWeek:
          default:
          - SUN
          description: 'Days of the week to schedule backups.

            '
          example:
          - MON
          - THU
          items:
            $ref: '#/components/schemas/DayOfWeek'
          minItems: 1
          type: array
          uniqueItems: true
        timeOfDay:
          $ref: '#/components/schemas/TimeOfDay'
        startWindowMinutes:
          default: 240
          description: 'The window of time after the start time you want the backup to start, in minutes.

            Defaults to `240` (4 hours).

            '
          example: 240
          format: long
          maximum: 1320
          minimum: 240
          type: integer
      required:
      - daysOfWeek
      - timeOfDay
      type: object
    DailyConfig:
      example:
        startWindowMinutes: 240
        timeOfDay:
          hour: 12
          minute: 30
      nullable: true
      properties:
        timeOfDay:
          $ref: '#/components/schemas/TimeOfDay'
        startWindowMinutes:
          default: 240
          description: 'The window of time after the start time you want the backup to start, in minutes.

            Defaults to `240` (4 hours).

            '
          example: 240
          format: long
          maximum: 1320
          minimum: 240
          type: integer
      type: object
    BackupPolicyGroupCondition:
      description: 'Group of expressions to evaluate using the logical operator specified in `operator`.

        Each item in the `operands` list can be either a single expression or a nested `group` expression.

        '
      example:
        operands:
        - resourceType:
            operator: IN
            resourceTypes:
            - AWS_EC2
            - AWS_RDS
        - environment:
            operator: IN
            environments:
            - PROD
            - PROD_INTERNAL
        operator: AND
      nullable: true
      properties:
        operator:
          $ref: '#/components/schemas/LogicalOperator'
        operands:
          description: 'List of expressions to evaluate using the logical operator specified in `operator`.

            Each item in the list can be either a single expression or a nested `group` expression.


            Must contain at least 2 items.

            '
          example:
          - resourceType:
              operator: IN
              resourceTypes:
              - AWS_EC2
              - AWS_RDS
          - environment:
              operator: IN
              environments:
              - PROD
              - PROD_INTERNAL
          items:
            $ref: '#/components/schemas/BackupPolicyExpression'
          minItems: 2
          type: array
      required:
      - operands
      - operator
      type: object
    StandardBackupScheduleFrequency:
      description: 'Backup frequency.

        `UNSPECIFIED` is supported only in responses.

        '
      enum:
      - INTERVAL
      - DAILY
      - WEEKLY
      - MONTHLY
      - ANNUALLY
      - UNSPECIFIED
      example: WEEKLY
      type: string
      x-enum-varnames:
      - STANDARD_BACKUP_SCHEDULE_INTERVAL
      - STANDARD_BACKUP_SCHEDULE_DAILY
      - STANDARD_BACKUP_SCHEDULE_WEEKLY
      - STANDARD_BACKUP_SCHEDULE_MONTHLY
      - STANDARD_BACKUP_SCHEDULE_ANNUALLY
      - STANDARD_BACKUP_SCHEDULE_UNSPECIFIED
    AwsNativePitrBackupPolicyPlan:
      example:
        retentionDays: 7
        resourceType:
          resourceType: AWS_RDS
      nullable: true
      properties:
        retentionDays:
          description: 'Number of days to retain continuous backups with AWS Backup.

            AWS allows 1 to 35 days for RDS and Aurora continuous backups.

            '
          example: 7
          maximum: 35
          minimum: 1
          type: integer
        resourceType:
          $ref: '#/components/schemas/AwsNativePitrBackupResourceType'
      required:
      - resourceType
      - retentionDays
      type: object
    HighFrequencyBackupPolicyPlan:
      example:
        resourceTypes:
        - resourceType: AWS_S3
        - resourceType: AWS_S3
        backupSchedules:
        - vaultId: 0b8d140a-f4fe-58bf-afd7-a57f073d72c5
          scheduleConfig:
            monthlyConfig:
              startWindowMinutes: 240
              daysOfMonth:
              - 5
              - 10
              - 15
              timeOfDay:
                hour: 12

# --- truncated at 32 KB (132 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/eon/refs/heads/main/openapi/eon-backuppolicies-api-openapi.yml