components:
  schemas:
    ExternalAccountProvider_v1_0_10_AccountProviderTypes:
      enum:
      - RedfishService
      - ActiveDirectoryService
      - LDAPService
      - OEM
      type: string
      x-enumDescriptions:
        ActiveDirectoryService: An external Active Directory service.
        LDAPService: A generic external LDAP service.
        OEM: An OEM-specific external authentication or directory service.
        RedfishService: An external Redfish service.
      x-enumLongDescriptions:
        ActiveDirectoryService: The external account provider shall be a Microsoft
          Active Directory Technical Specification-conformant service.  The `ServiceAddresses`
          property shall contain fully qualified domain names (FQDN) or NetBIOS names
          that link to the domain servers for the Active Directory service.
        LDAPService: The external account provider shall be an RFC4511-conformant
          service.  The `ServiceAddresses` property shall contain RFC3986-defined
          URIs in the format `scheme://host:port`, where `scheme://` and `:port` are
          optional, that link to the LDAP servers for the service.  If the scheme
          is not specified, services shall assume it is `ldaps://`.  If the port is
          not specified, services shall assume it is `636`.  For example, `ldaps://contoso.com:636`
          or `contoso.com`.
        RedfishService: The external account provider shall be a DMTF Redfish Specification-conformant
          service.  The `ServiceAddresses` property shall contain URIs to `AccountService`
          resources that correspond to Redfish services.  For example, `https://192.168.1.50/redfish/v1/AccountService`.
    ExternalAccountProvider_v1_0_10_Actions:
      additionalProperties: false
      description: The available actions for this resource.
      properties:
        Oem:
          $ref: '#/components/schemas/ExternalAccountProvider_v1_0_10_OemActions'
          description: The available OEM-specific actions for this resource.
          x-longDescription: This property shall contain the available OEM-specific
            actions for this resource.
      type: object
      x-longDescription: This type shall contain the available actions for this resource.
      x-patternProperties:
        ^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\.[a-zA-Z_][a-zA-Z0-9_]*$:
          description: This property shall specify a valid odata or Redfish property.
    ExternalAccountProvider_v1_0_10_Authentication:
      additionalProperties: false
      description: The information required to authenticate to the external service.
      properties:
        AuthenticationType:
          description: The type of authentication used to connect to the external
            account provider.
          oneOf:
          - $ref: '#/components/schemas/ExternalAccountProvider_v1_0_10_AuthenticationTypes'
          - enum:
            - null
          readOnly: false
          x-longDescription: This property shall contain the type of authentication
            used to connect to the external account provider.
        KerberosKeytab:
          description: The Base64-encoded Kerberos keytab for this service.  A `PATCH`
            or `PUT` operation writes the keytab.  This property is `null` in responses.
          nullable: true
          readOnly: false
          type: string
          writeOnly: true
          x-longDescription: This property shall contain a Base64-encoded string,
            with padding characters, of the Kerberos keytab for this service.  A `PATCH`
            or `PUT` operation writes the keytab.  The value shall be `null` in responses.
        Oem:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Oem
          description: The OEM extension property.
          x-longDescription: This property shall contain the OEM extensions.  All
            values for properties contained in this object shall conform to the Redfish
            Specification-described requirements.
        Password:
          description: The password for this service.  A `PATCH` or `PUT` request
            writes the password.  This property is `null` in responses.
          nullable: true
          readOnly: false
          type: string
          writeOnly: true
          x-longDescription: This property shall contain the password for this service.  A
            `PATCH` or `PUT` operation writes the password.  The value shall be `null`
            in responses.
        Token:
          description: The token for this service.  A `PATCH` or `PUT` operation writes
            the token.  This property is `null` in responses.
          nullable: true
          readOnly: false
          type: string
          writeOnly: true
          x-longDescription: This property shall contain the token for this service.  A
            `PATCH` or `PUT` operation writes the token.  The value shall be `null`
            in responses.
        Username:
          description: The username for the service.
          readOnly: false
          type: string
          x-longDescription: This property shall contain the username for this service.
      type: object
      x-longDescription: This type shall contain the information required to authenticate
        to the external service.
      x-patternProperties:
        ^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\.[a-zA-Z_][a-zA-Z0-9_]*$:
          description: This property shall specify a valid odata or Redfish property.
    ExternalAccountProvider_v1_0_10_AuthenticationTypes:
      enum:
      - Token
      - KerberosKeytab
      - UsernameAndPassword
      - OEM
      type: string
      x-enumDescriptions:
        KerberosKeytab: A Kerberos keytab.
        OEM: An OEM-specific authentication mechanism.
        Token: An opaque authentication token.
        UsernameAndPassword: A username and password combination.
    ExternalAccountProvider_v1_0_10_ExternalAccountProvider:
      additionalProperties: false
      description: The `ExternalAccountProvider` schema represents a remote service
        that provides accounts for this manager to use for authentication.
      properties:
        '@odata.context':
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_context
        '@odata.etag':
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_etag
        '@odata.id':
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_id
        '@odata.type':
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_type
        AccountProviderType:
          description: The type of external account provider to which this service
            connects.
          oneOf:
          - $ref: '#/components/schemas/ExternalAccountProvider_v1_0_10_AccountProviderTypes'
          - enum:
            - null
          readOnly: true
          x-longDescription: This property shall contain the type of external account
            provider to which this service connects.
        Actions:
          $ref: '#/components/schemas/ExternalAccountProvider_v1_0_10_Actions'
          description: The available actions for this resource.
          x-longDescription: This property shall contain the available actions for
            this resource.
        Authentication:
          $ref: '#/components/schemas/ExternalAccountProvider_v1_0_10_Authentication'
          description: The authentication information for the external account provider.
          x-longDescription: This property shall contain the authentication information
            for the external account provider.
        Description:
          oneOf:
          - $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Description
          - enum:
            - null
          readOnly: true
        Id:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Id
          readOnly: true
        LDAPService:
          $ref: '#/components/schemas/ExternalAccountProvider_v1_0_10_LDAPService'
          description: The additional mapping information needed to parse a generic
            LDAP service.
          x-longDescription: This property shall contain any additional mapping information
            needed to parse a generic LDAP service.  This property should only be
            present if `AccountProviderType` is `LDAPService`.
        Links:
          $ref: '#/components/schemas/ExternalAccountProvider_v1_0_10_Links'
          description: The links to other resources that are related to this resource.
          x-longDescription: This property shall contain links to resources that are
            related to but are not contained by, or subordinate to, this resource.
        Name:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Name
          readOnly: true
        Oem:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Oem
          description: The OEM extension property.
          x-longDescription: This property shall contain the OEM extensions.  All
            values for properties that this object contains shall conform to the Redfish
            Specification-described requirements.
        RemoteRoleMapping:
          description: The mapping rules to convert the external account providers
            account information to the local Redfish role.
          items:
            oneOf:
            - $ref: '#/components/schemas/ExternalAccountProvider_v1_0_10_RoleMapping'
            - enum:
              - null
          type: array
          x-longDescription: This property shall contain a set of the mapping rules
            that are used to convert the external account providers account information
            to the local Redfish role.  The service shall return the HTTP `401 Unauthorized`
            status code to requests from accounts that do not map to a Redfish role
            in this property.
        ServiceAddresses:
          description: The addresses of the user account providers to which this external
            account provider links.  The format of this field depends on the type
            of external account provider.
          items:
            nullable: true
            type: string
          readOnly: false
          type: array
          x-longDescription: This property shall contain the addresses of the account
            providers to which this external account provider links.  The format of
            this field depends on the type of external account provider.  Each item
            in the array shall contain a single address.  Services can define their
            own behavior for managing multiple addresses.
        ServiceEnabled:
          description: An indication of whether this service is enabled.
          nullable: true
          readOnly: false
          type: boolean
          x-longDescription: This property shall indicate whether this service is
            enabled.
      required:
      - '@odata.id'
      - '@odata.type'
      - Id
      - Name
      type: object
      x-longDescription: This resource shall represent a remote authentication service
        in the Redfish Specification.
      x-patternProperties:
        ^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\.[a-zA-Z_][a-zA-Z0-9_]*$:
          description: This property shall specify a valid odata or Redfish property.
      x-requiredOnCreate:
      - AccountProviderType
    ExternalAccountProvider_v1_0_10_LDAPSearchSettings:
      additionalProperties: false
      description: The settings to search a generic LDAP service.
      properties:
        BaseDistinguishedNames:
          description: The base distinguished names to use to search an external LDAP
            service.
          items:
            nullable: true
            type: string
          readOnly: false
          type: array
          x-longDescription: This property shall contain an array of base distinguished
            names to use to search an external LDAP service.
        GroupNameAttribute:
          description: The attribute name that contains the LDAP group name entry.
          nullable: true
          readOnly: false
          type: string
          x-longDescription: This property shall contain the attribute name that contains
            the LDAP group name.
        GroupsAttribute:
          description: The attribute name that contains the groups for a user on the
            LDAP user entry.
          nullable: true
          readOnly: false
          type: string
          x-longDescription: This property shall contain the attribute name that contains
            the groups for an LDAP user entry.
        UsernameAttribute:
          description: The attribute name that contains the LDAP username entry.
          nullable: true
          readOnly: false
          type: string
          x-longDescription: This property shall contain the attribute name that contains
            the LDAP username.
      type: object
      x-longDescription: This type shall contain all required settings to search a
        generic LDAP service.
      x-patternProperties:
        ^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\.[a-zA-Z_][a-zA-Z0-9_]*$:
          description: This property shall specify a valid odata or Redfish property.
    ExternalAccountProvider_v1_0_10_LDAPService:
      additionalProperties: false
      description: The settings required to parse a generic LDAP service.
      properties:
        Oem:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Oem
          description: The OEM extension property.
          x-longDescription: This property shall contain the OEM extensions.  All
            values for properties contained in this object shall conform to the Redfish
            Specification-described requirements.
        SearchSettings:
          $ref: '#/components/schemas/ExternalAccountProvider_v1_0_10_LDAPSearchSettings'
          description: The required settings to search an external LDAP service.
          x-longDescription: This property shall contain the required settings to
            search an external LDAP service.
      type: object
      x-longDescription: This type shall contain all required settings to parse a
        generic LDAP service.
      x-patternProperties:
        ^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\.[a-zA-Z_][a-zA-Z0-9_]*$:
          description: This property shall specify a valid odata or Redfish property.
    ExternalAccountProvider_v1_0_10_Links:
      additionalProperties: false
      description: The links to other resources that are related to this resource.
      properties:
        Oem:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Oem
          description: The OEM extension property.
          x-longDescription: This property shall contain the OEM extensions.  All
            values for properties contained in this object shall conform to the Redfish
            Specification-described requirements.
      type: object
      x-longDescription: This Redfish Specification-described type shall contain links
        to resources that are related to but are not contained by, or subordinate
        to, this resource.
      x-patternProperties:
        ^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\.[a-zA-Z_][a-zA-Z0-9_]*$:
          description: This property shall specify a valid odata or Redfish property.
    ExternalAccountProvider_v1_0_10_OemActions:
      additionalProperties: true
      description: The available OEM-specific actions for this resource.
      properties: {}
      type: object
      x-longDescription: This type shall contain the available OEM-specific actions
        for this resource.
      x-patternProperties:
        ^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\.[a-zA-Z_][a-zA-Z0-9_]*$:
          description: This property shall specify a valid odata or Redfish property.
    ExternalAccountProvider_v1_0_10_RoleMapping:
      additionalProperties: false
      description: The mapping rules that are used to convert the external account
        providers account information to the local Redfish role.
      properties:
        LocalRole:
          description: The name of the local Redfish role to which to map the remote
            user or group.
          nullable: true
          readOnly: false
          type: string
          x-longDescription: This property shall contain the `RoleId` property value
            within a role resource on this Redfish service to which to map the remote
            user or group.
        Oem:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Oem
          description: The OEM extension property.
          x-longDescription: This property shall contain the OEM extensions.  All
            values for properties contained in this object shall conform to the Redfish
            Specification-described requirements.
        RemoteGroup:
          description: The name of the remote group, or the remote role in the case
            of a Redfish service, that maps to the local Redfish role to which this
            entity links.
          nullable: true
          readOnly: false
          type: string
          x-longDescription: This property shall contain the name of the remote group,
            or the remote role in the case of a Redfish service, that maps to the
            local Redfish role to which this entity links.  If `AccountProviderType`
            contains `RedfishService`, this property shall contain the name of the
            Redfish role from the external Redfish service.  If `AccountProviderType`
            contains `ActiveDirectoryService`, this property shall contain the value
            of the 'Group Name' attribute from the Active Directory service.  If `AccountProviderType`
            contains `LDAPService`, this property shall contain the distinguished
            name for the group or the value of the attribute specified by the `GroupNameAttribute`
            property from the LDAP service.
        RemoteUser:
          description: The name of the remote user that maps to the local Redfish
            role to which this entity links.
          nullable: true
          readOnly: false
          type: string
          x-longDescription: This property shall contain the name of the remote user
            that maps to the local Redfish role to which this entity links.  If `AccountProviderType`
            contains `RedfishService`, this property shall contain the username of
            the `ManagerAccount` resource from the external Redfish service.  If `AccountProviderType`
            contains `ActiveDirectoryService`, this property shall contain the value
            of the 'Username' attribute, with optional domain, from the Active Directory
            service.  If `AccountProviderType` contains `LDAPService`, this property
            shall contain the distinguished name for the user or the value of the
            attribute specified by the `UsernameAttribute` property from the LDAP
            service.
      type: object
      x-longDescription: This type shall contain mapping rules that are used to convert
        the external account providers account information to the local Redfish role.
      x-patternProperties:
        ^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\.[a-zA-Z_][a-zA-Z0-9_]*$:
          description: This property shall specify a valid odata or Redfish property.
title: '#ExternalAccountProvider.v1_0_10.ExternalAccountProvider'
x-copyright: Copyright 2014-2025 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright
x-language: en
x-owningEntity: DMTF
x-release: '2018.1'
