src/cleanroomspec/cleanroomspec-openapi.yaml [119:346]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    SandBoxType:
      type: string
      enum:
      - Type_0
      - None

    SandboxSettings:
      type: object
      properties:
        sandboxType:
          $ref: "#/components/schemas/SandBoxType"
        privacyPolicy:
          $ref: "#/components/schemas/Policy"
        configuration:
          type: string
          default: ''
      required:
      - sandboxType

    Policy:
      type: object
      properties:
        policy:
          oneOf:
          - $ref: "#/components/schemas/InlinePolicy"
          - $ref: "#/components/schemas/ExternalPolicy"

    InlinePolicy:
      type: object
      properties:
        policyDocument:
          type: string

    ExternalPolicy:
      allOf:
        - $ref: "#/components/schemas/Document"

    Document:
      type: object
      properties:
        documentType:
          type: string
        authenticityReceipt:
          type: string
        identity:
          $ref: "#/components/schemas/Identity"
          default: null
        backingResource:
          $ref: "#/components/schemas/Resource"
      required:
      - documentType
      - authenticityReceipt
      - backingResource

    SecretProtocolType:
      type: string
      enum:
      - AzureKeyVault_Secret
      - AzureKeyVault_SecureKey
      - AzureKeyVault_Key
      - AzureKeyVault_Certificate

    StoreProtocolType:
      type: string
      enum:
      - Azure_BlobStorage
      - Azure_OneLake
    
    ApplicationStoreProtocolType:
      type: string
      enum:
      - AzureContainerRegistry

    ProtocolType:
      type: string
      allOf:
        - $ref: "#/components/schemas/IdentityProtocolType"
        - $ref: "#/components/schemas/SecretProtocolType"
        - $ref: "#/components/schemas/StoreProtocolType"
        - $ref: "#/components/schemas/ApplicationStoreProtocolType"

    ServiceEndpoint:
      type: object
      properties:
        protocol:
          $ref: "#/components/schemas/ProtocolType"
        url:
          type: string
        configuration:
          type: string
          default: ''
      required:
      - protocol
      - url

    StoreType:
      type: string
      enum:
        - Azure_BlobStorage
        - Azure_OneLake

    SecretStoreType:
      type: string
      enum:
        - AzureKeyVault

    ApplicationStoreType:
      type: string
      enum:
        - AzureContainerRegistry

    ResourceType:
      type: string
      allOf:
        - $ref: "#/components/schemas/StoreType"
        - $ref: "#/components/schemas/SecretStoreType"
        - $ref: "#/components/schemas/ApplicationStoreType"

    Resource:
      type: object
      properties:
        name:
          type: string
        type:
          $ref: "#/components/schemas/ResourceType"
        id:
          type: string
        provider:
          $ref: "#/components/schemas/ServiceEndpoint"
      required:
      - name
      - type
      - id
      - provider

    AccessPointType:
      type: string
      enum:
        - Volume_ReadWrite
        - Volume_ReadOnly

    AccessPoint:
      type: object
      properties:
        name:
          type: string
        type:
          $ref: "#/components/schemas/AccessPointType"
        path:
          type: string
        store:
          $ref: "#/components/schemas/Resource"
        identity:
          $ref: "#/components/schemas/Identity"
        protection:
          $ref: "#/components/schemas/PrivacyProxySettings"
      required:
      - name
      - type
      - path
      - store
      - identity
      - protection

    ProxyType:
      type: string
      enum:
      - SecureVolume__ReadOnly__Azure__OneLake
      - SecureVolume__ReadOnly__Azure__BlobStorage
      - SecureVolume__ReadWrite__Azure__OneLake
      - SecureVolume__ReadWrite__Azure__BlobStorage
      - API
      - SecureAPI
    
    ProxyMode:
      type: string
      enum:
      - Secure
      - Open

    PrivacyProxySettings:
      type: object
      properties:
        proxyType:
          $ref: "#/components/schemas/ProxyType"
        proxyMode:
          $ref: "#/components/schemas/ProxyMode"
        privacyPolicy:
          $ref: "#/components/schemas/Policy"
        configuration:
          type: string
          default: ''
        encryptionSecrets:
          type: object
          properties:
            dek:
              $ref: "#/components/schemas/EncryptionSecret"
            kek:
              $ref: "#/components/schemas/EncryptionSecret"
          required:
          - dek
          - kek
        encryptionSecretAccessIdentity:
          $ref: "#/components/schemas/Identity"
      required:
      - proxyType
      - proxyMode

    EncryptionSecret:
      type: object
      properties:
        name:
          type: string
        secret:
          $ref: "#/components/schemas/CleanroomSecret"
      required:
      - name
      - secret

    ApplicationResource:
      type: object
      properties:
        requests:
          type: object
          properties:
            cpu:
              type: number
            memoryInGB:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



src/tools/azure-cli-extension/cleanroom/cleanroom_common/azure_cleanroom_core/templates/cleanroomspec-openapi.yaml [44:271]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    SandBoxType:
      type: string
      enum:
      - Type_0
      - None

    SandboxSettings:
      type: object
      properties:
        sandboxType:
          $ref: "#/components/schemas/SandBoxType"
        privacyPolicy:
          $ref: "#/components/schemas/Policy"
        configuration:
          type: string
          default: ''
      required:
      - sandboxType

    Policy:
      type: object
      properties:
        policy:
          oneOf:
          - $ref: "#/components/schemas/InlinePolicy"
          - $ref: "#/components/schemas/ExternalPolicy"

    InlinePolicy:
      type: object
      properties:
        policyDocument:
          type: string

    ExternalPolicy:
      allOf:
        - $ref: "#/components/schemas/Document"

    Document:
      type: object
      properties:
        documentType:
          type: string
        authenticityReceipt:
          type: string
        identity:
          $ref: "#/components/schemas/Identity"
          default: null
        backingResource:
          $ref: "#/components/schemas/Resource"
      required:
      - documentType
      - authenticityReceipt
      - backingResource

    SecretProtocolType:
      type: string
      enum:
      - AzureKeyVault_Secret
      - AzureKeyVault_SecureKey
      - AzureKeyVault_Key
      - AzureKeyVault_Certificate

    StoreProtocolType:
      type: string
      enum:
      - Azure_BlobStorage
      - Azure_OneLake
    
    ApplicationStoreProtocolType:
      type: string
      enum:
      - AzureContainerRegistry

    ProtocolType:
      type: string
      allOf:
        - $ref: "#/components/schemas/IdentityProtocolType"
        - $ref: "#/components/schemas/SecretProtocolType"
        - $ref: "#/components/schemas/StoreProtocolType"
        - $ref: "#/components/schemas/ApplicationStoreProtocolType"

    ServiceEndpoint:
      type: object
      properties:
        protocol:
          $ref: "#/components/schemas/ProtocolType"
        url:
          type: string
        configuration:
          type: string
          default: ''
      required:
      - protocol
      - url

    StoreType:
      type: string
      enum:
        - Azure_BlobStorage
        - Azure_OneLake
    
    SecretStoreType:
      type: string
      enum:
        - AzureKeyVault

    ApplicationStoreType:
      type: string
      enum:
        - AzureContainerRegistry

    ResourceType:
      type: string
      allOf:
        - $ref: "#/components/schemas/StoreType"
        - $ref: "#/components/schemas/SecretStoreType"
        - $ref: "#/components/schemas/ApplicationStoreType"

    Resource:
      type: object
      properties:
        name:
          type: string
        type:
          $ref: "#/components/schemas/ResourceType"
        id:
          type: string
        provider:
          $ref: "#/components/schemas/ServiceEndpoint"
      required:
      - name
      - type
      - id
      - provider

    AccessPointType:
      type: string
      enum:
        - Volume_ReadWrite
        - Volume_ReadOnly

    AccessPoint:
      type: object
      properties:
        name:
          type: string
        type:
          $ref: "#/components/schemas/AccessPointType"
        path:
          type: string
        store:
          $ref: "#/components/schemas/Resource"
        identity:
          $ref: "#/components/schemas/Identity"
        protection:
          $ref: "#/components/schemas/PrivacyProxySettings"
      required:
      - name
      - type
      - path
      - store
      - identity
      - protection

    ProxyType:
      type: string
      enum:
      - SecureVolume__ReadOnly__Azure__OneLake
      - SecureVolume__ReadOnly__Azure__BlobStorage
      - SecureVolume__ReadWrite__Azure__OneLake
      - SecureVolume__ReadWrite__Azure__BlobStorage
      - API
      - SecureAPI
    
    ProxyMode:
      type: string
      enum:
      - Secure
      - Open

    PrivacyProxySettings:
      type: object
      properties:
        proxyType:
          $ref: "#/components/schemas/ProxyType"
        proxyMode:
          $ref: "#/components/schemas/ProxyMode"
        privacyPolicy:
          $ref: "#/components/schemas/Policy"
        configuration:
          type: string
          default: ''
        encryptionSecrets:
          type: object
          properties:
            dek:
              $ref: "#/components/schemas/EncryptionSecret"
            kek:
              $ref: "#/components/schemas/EncryptionSecret"
          required:
          - dek
          - kek
        encryptionSecretAccessIdentity:
          $ref: "#/components/schemas/Identity"
      required:
      - proxyType
      - proxyMode

    EncryptionSecret:
      type: object
      properties:
        name:
          type: string
        secret:
          $ref: "#/components/schemas/CleanroomSecret"
      required:
      - name
      - secret

    ApplicationResource:
      type: object
      properties:
        requests:
          type: object
          properties:
            cpu:
              type: number
            memoryInGB:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



