Pydantic Models

Smarter API PluginData Sql Connection Manifest Constants

Smarter API Manifest - User.metadata

pydantic model smarter.apps.provider.manifest.models.provider.metadata.SAMProviderMetadata[source]

Bases: AbstractSAMMetadataBase

Smarter API Provider Manifest - Metadata class.

Show JSON schema
{
   "title": "SAMProviderMetadata",
   "description": "Smarter API Provider Manifest - Metadata class.",
   "type": "object",
   "properties": {
      "name": {
         "description": "The camelCase name of the manifest resource",
         "title": "Name",
         "type": "string"
      },
      "description": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "description": "The description for this resource. Be brief. Keep it under 255 characters.",
         "title": "Description"
      },
      "version": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "description": "The semantic version of the manifest. Example: 0.1.0",
         "title": "Version"
      },
      "tags": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "description": "The tags of the manifest. Used for generic resource categorization and search. Example: ['tag1', 'tag2']",
         "title": "Tags"
      },
      "annotations": {
         "anyOf": [
            {
               "items": {
                  "additionalProperties": {
                     "anyOf": [
                        {
                           "type": "string"
                        },
                        {
                           "type": "integer"
                        },
                        {
                           "type": "number"
                        },
                        {
                           "type": "boolean"
                        },
                        {
                           "format": "date",
                           "type": "string"
                        },
                        {
                           "format": "date-time",
                           "type": "string"
                        },
                        {
                           "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                           "type": "string"
                        },
                        {
                           "format": "uuid",
                           "type": "string"
                        },
                        {
                           "format": "binary",
                           "type": "string"
                        },
                        {
                           "items": {},
                           "type": "array"
                        },
                        {
                           "additionalProperties": true,
                           "type": "object"
                        }
                     ]
                  },
                  "type": "object"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "description": "The manifest annotations. Used for storing arbitrary metadata as\n            key-value pairs. Example: [{'smarter.sh/test-manifest/project-name': 'Scooby dooby do'}]. The\n            key should be a valid url-friendly string. The value accepts\n            multi-line string values (YAML block scalars) and various scalar types including\n            str, int, float, bool, datetime.date, datetime.datetime, decimal.Decimal, uuid.UUID, bytes, list, dict.\n            ",
         "title": "Annotations"
      }
   },
   "required": [
      "name",
      "description",
      "version"
   ]
}

Config:
  • from_attributes: bool = True

  • arbitrary_types_allowed: bool = True

  • frozen: bool = True

Fields:

Validators:

class_identifier: ClassVar[str] = 'Provider.metadata'

Smarter API Manifest - Plugin.spec

pydantic model smarter.apps.provider.manifest.models.provider.spec.SAMProviderSpec[source]

Bases: AbstractSAMSpecBase

Smarter API Api Connection Manifest ApiConnection.spec

Show JSON schema
{
   "title": "SAMProviderSpec",
   "description": "Smarter API Api Connection Manifest ApiConnection.spec",
   "type": "object",
   "properties": {
      "provider": {
         "$ref": "#/$defs/SAMProviderSpecProvider",
         "description": "Provider.spec.selector[obj]: the spec for the Provider"
      }
   },
   "$defs": {
      "SAMProviderSpecProvider": {
         "description": "Smarter API - generic API Connection class.",
         "properties": {
            "name": {
               "description": "The name of the Provider. Case sensitive. Must be unique and not empty, with no leading or trailing whitespace and no special characters. examples: 'OpenAI', 'GoogleAI', 'MetaAI'.",
               "title": "Name",
               "type": "string"
            },
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A brief description of the Provider.",
               "title": "Description"
            },
            "base_url": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The base URL for the Provider's API.",
               "title": "Base Url"
            },
            "api_key": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The name of the Smarter Secret containing the API key to use for verification tests.",
               "title": "Api Key"
            },
            "connectivity_test_path": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "",
               "description": "The URL path to test connectivity with the Provider's API.",
               "title": "Connectivity Test Path"
            },
            "logo": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The logo of the Provider.",
               "title": "Logo"
            },
            "website_url": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The website_url URL of the Provider.",
               "title": "Website Url"
            },
            "contact_email": {
               "anyOf": [
                  {
                     "format": "email",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The contact email of the Provider.",
               "title": "Contact Email"
            },
            "support_email": {
               "anyOf": [
                  {
                     "format": "email",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The support email of the Provider.",
               "title": "Support Email"
            },
            "terms_of_service_url": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The terms of service URL of the Provider.",
               "title": "Terms Of Service Url"
            },
            "docs_url": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The documentation URL of the Provider.",
               "title": "Docs Url"
            },
            "privacy_policy_url": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The privacy policy URL of the Provider.",
               "title": "Privacy Policy Url"
            }
         },
         "required": [
            "name"
         ],
         "title": "SAMProviderSpecProvider",
         "type": "object"
      }
   },
   "required": [
      "provider"
   ]
}

Config:
  • from_attributes: bool = True

  • arbitrary_types_allowed: bool = True

  • frozen: bool = True

Fields:
Validators:

field provider: SAMProviderSpecProvider [Required]

Provider.spec.selector[obj]: the spec for the Provider

Validated by:
class_identifier: ClassVar[str] = 'Provider.spec'
pydantic model smarter.apps.provider.manifest.models.provider.spec.SAMProviderSpecProvider[source]

Bases: SmarterBasePydanticModel

Smarter API - generic API Connection class.

Show JSON schema
{
   "title": "SAMProviderSpecProvider",
   "description": "Smarter API - generic API Connection class.",
   "type": "object",
   "properties": {
      "name": {
         "description": "The name of the Provider. Case sensitive. Must be unique and not empty, with no leading or trailing whitespace and no special characters. examples: 'OpenAI', 'GoogleAI', 'MetaAI'.",
         "title": "Name",
         "type": "string"
      },
      "description": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A brief description of the Provider.",
         "title": "Description"
      },
      "base_url": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The base URL for the Provider's API.",
         "title": "Base Url"
      },
      "api_key": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The name of the Smarter Secret containing the API key to use for verification tests.",
         "title": "Api Key"
      },
      "connectivity_test_path": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": "",
         "description": "The URL path to test connectivity with the Provider's API.",
         "title": "Connectivity Test Path"
      },
      "logo": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The logo of the Provider.",
         "title": "Logo"
      },
      "website_url": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The website_url URL of the Provider.",
         "title": "Website Url"
      },
      "contact_email": {
         "anyOf": [
            {
               "format": "email",
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The contact email of the Provider.",
         "title": "Contact Email"
      },
      "support_email": {
         "anyOf": [
            {
               "format": "email",
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The support email of the Provider.",
         "title": "Support Email"
      },
      "terms_of_service_url": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The terms of service URL of the Provider.",
         "title": "Terms Of Service Url"
      },
      "docs_url": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The documentation URL of the Provider.",
         "title": "Docs Url"
      },
      "privacy_policy_url": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The privacy policy URL of the Provider.",
         "title": "Privacy Policy Url"
      }
   },
   "required": [
      "name"
   ]
}

Config:
  • from_attributes: bool = True

  • arbitrary_types_allowed: bool = True

  • frozen: bool = True

Fields:
Validators:
field api_key: Optional[str] = None

The name of the Smarter Secret containing the API key to use for verification tests.

Validated by:
field base_url: Optional[str] = None

The base URL for the Provider’s API.

Validated by:
field connectivity_test_path: Optional[str] = ''

The URL path to test connectivity with the Provider’s API.

Validated by:
field contact_email: Optional[EmailStr] = None

The contact email of the Provider.

Validated by:
field description: Optional[str] = None

A brief description of the Provider.

Validated by:
field docs_url: Optional[str] = None

The documentation URL of the Provider.

Validated by:

The logo of the Provider.

Validated by:
field name: str [Required]

The name of the Provider. Case sensitive. Must be unique and not empty, with no leading or trailing whitespace and no special characters. examples: ‘OpenAI’, ‘GoogleAI’, ‘MetaAI’.

Validated by:
field privacy_policy_url: Optional[str] = None

The privacy policy URL of the Provider.

Validated by:
field support_email: Optional[EmailStr] = None

The support email of the Provider.

Validated by:
field terms_of_service_url: Optional[str] = None

The terms of service URL of the Provider.

Validated by:
field website_url: Optional[str] = None

The website_url URL of the Provider.

Validated by:
validator validate_api_key  »  api_key[source]
validator validate_api_url  »  base_url[source]
validator validate_connectivity_test_path  »  connectivity_test_path[source]
validator validate_contact_email  »  contact_email[source]
validator validate_docs_url  »  docs_url[source]
validator validate_name  »  name[source]
validator validate_privacy_policy_url  »  privacy_policy_url[source]
validator validate_support_email  »  support_email[source]
validator validate_terms_of_service_url  »  terms_of_service_url[source]
validator validate_website  »  website_url[source]
smarter.apps.provider.manifest.models.provider.spec.should_log(level)[source]

Check if logging should be done based on the waffle switch.

Smarter API Manifest - Account.status

pydantic model smarter.apps.provider.manifest.models.provider.status.SAMProviderStatus[source]

Bases: AbstractSAMStatusBase

Smarter API Provider Manifest - Status class.

Show JSON schema
{
   "title": "SAMProviderStatus",
   "description": "Smarter API Provider Manifest - Status class.",
   "type": "object",
   "properties": {
      "recordLocator": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "recordLocator[String]: An optional identifier used to locate the resource record associated with this manifest. Read only.",
         "title": "Recordlocator"
      },
      "created": {
         "description": "The date in which this resource was created. Read only.",
         "format": "date-time",
         "title": "Created",
         "type": "string"
      },
      "modified": {
         "description": "The date in which this resource was most recently changed. Read only.",
         "format": "date-time",
         "title": "Modified",
         "type": "string"
      },
      "is_active": {
         "description": "Account.status.is_active: Indicates whether this Account is currently active. Read only.",
         "title": "Is Active",
         "type": "boolean"
      },
      "is_flagged": {
         "description": "Account.status.is_flagged: Indicates whether this Account has been flagged for review. Read only.",
         "title": "Is Flagged",
         "type": "boolean"
      },
      "is_deprecated": {
         "description": "Account.status.is_deprecated: Indicates whether this Account is deprecated. Read only.",
         "title": "Is Deprecated",
         "type": "boolean"
      },
      "is_suspended": {
         "description": "Account.status.is_suspended: Indicates whether this Account is currently suspended. Read only.",
         "title": "Is Suspended",
         "type": "boolean"
      },
      "is_verified": {
         "description": "Account.status.is_verified: Indicates whether this Account has been verified. Read only.",
         "title": "Is Verified",
         "type": "boolean"
      },
      "ownership_requested": {
         "anyOf": [
            {
               "format": "email",
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Account.status.ownership_requested: The Smarter user that has requested ownership of this Account. Read only.",
         "title": "Ownership Requested"
      },
      "contact_email_verified": {
         "anyOf": [
            {
               "format": "date-time",
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Account.status.contact_email_verified: The date in which the contact email for this Account was verified. Read only.",
         "title": "Contact Email Verified"
      },
      "support_email_verified": {
         "anyOf": [
            {
               "format": "date-time",
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Account.status.support_email_verified: The date in which the support email for this Account was verified. Read only.",
         "title": "Support Email Verified"
      },
      "tos_accepted_at": {
         "anyOf": [
            {
               "format": "date-time",
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Account.status.tos_accepted_at: The date in which the Terms of Service for this Account were accepted. Read only.",
         "title": "Tos Accepted At"
      },
      "tos_accepted_by": {
         "anyOf": [
            {
               "format": "email",
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Account.status.tos_accepted_by: The Smarter user that accepted the Terms of Service for this Account. Read only.",
         "title": "Tos Accepted By"
      },
      "can_activate": {
         "default": true,
         "description": "Account.status.can_activate: Indicates whether this Account can be activated. Read only.",
         "title": "Can Activate",
         "type": "boolean"
      }
   },
   "required": [
      "created",
      "modified",
      "is_active",
      "is_flagged",
      "is_deprecated",
      "is_suspended",
      "is_verified"
   ]
}

Config:
  • from_attributes: bool = True

  • arbitrary_types_allowed: bool = True

  • frozen: bool = True

Fields:
Validators:

field can_activate: bool = True

Account.status.can_activate: Indicates whether this Account can be activated. Read only.

Validated by:
field contact_email_verified: Optional[datetime] = None

Account.status.contact_email_verified: The date in which the contact email for this Account was verified. Read only.

Validated by:
field is_active: bool [Required]

Account.status.is_active: Indicates whether this Account is currently active. Read only.

Validated by:
field is_deprecated: bool [Required]

Account.status.is_deprecated: Indicates whether this Account is deprecated. Read only.

Validated by:
field is_flagged: bool [Required]

Account.status.is_flagged: Indicates whether this Account has been flagged for review. Read only.

Validated by:
field is_suspended: bool [Required]

Account.status.is_suspended: Indicates whether this Account is currently suspended. Read only.

Validated by:
field is_verified: bool [Required]

Account.status.is_verified: Indicates whether this Account has been verified. Read only.

Validated by:
field ownership_requested: Optional[EmailStr] = None

Account.status.ownership_requested: The Smarter user that has requested ownership of this Account. Read only.

Validated by:
field support_email_verified: Optional[datetime] = None

Account.status.support_email_verified: The date in which the support email for this Account was verified. Read only.

Validated by:
field tos_accepted_at: Optional[datetime] = None

Account.status.tos_accepted_at: The date in which the Terms of Service for this Account were accepted. Read only.

Validated by:
field tos_accepted_by: Optional[EmailStr] = None

Account.status.tos_accepted_by: The Smarter user that accepted the Terms of Service for this Account. Read only.

Validated by:
class_identifier: ClassVar[str] = 'Account.status'

Smarter API Account Manifest

pydantic model smarter.apps.provider.manifest.models.provider.model.SAMProvider[source]

Bases: AbstractSAMBase

Smarter API Manifest - Account

Show JSON schema
{
   "title": "SAMProvider",
   "description": "Smarter API Manifest - Account",
   "type": "object",
   "properties": {
      "apiVersion": {
         "description": "apiVersion[String]: Required. The API version of the AbstractSAMBase.",
         "title": "Apiversion",
         "type": "string"
      },
      "kind": {
         "description": "kind[String]: Required. The kind of resource described by the manifest.",
         "title": "Kind",
         "type": "string"
      },
      "metadata": {
         "$ref": "#/$defs/SAMProviderMetadata",
         "description": "Provider.metadata[obj]: Required, the Provider metadata."
      },
      "spec": {
         "$ref": "#/$defs/SAMProviderSpec",
         "description": "Provider.spec[obj]: Required, the Provider specification."
      },
      "status": {
         "anyOf": [
            {
               "$ref": "#/$defs/SAMProviderStatus"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Provider.status[obj]: Optional, Read-only. Stateful status information about the Provider."
      }
   },
   "$defs": {
      "SAMProviderMetadata": {
         "description": "Smarter API Provider Manifest - Metadata class.",
         "properties": {
            "name": {
               "description": "The camelCase name of the manifest resource",
               "title": "Name",
               "type": "string"
            },
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "description": "The description for this resource. Be brief. Keep it under 255 characters.",
               "title": "Description"
            },
            "version": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "description": "The semantic version of the manifest. Example: 0.1.0",
               "title": "Version"
            },
            "tags": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "description": "The tags of the manifest. Used for generic resource categorization and search. Example: ['tag1', 'tag2']",
               "title": "Tags"
            },
            "annotations": {
               "anyOf": [
                  {
                     "items": {
                        "additionalProperties": {
                           "anyOf": [
                              {
                                 "type": "string"
                              },
                              {
                                 "type": "integer"
                              },
                              {
                                 "type": "number"
                              },
                              {
                                 "type": "boolean"
                              },
                              {
                                 "format": "date",
                                 "type": "string"
                              },
                              {
                                 "format": "date-time",
                                 "type": "string"
                              },
                              {
                                 "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                                 "type": "string"
                              },
                              {
                                 "format": "uuid",
                                 "type": "string"
                              },
                              {
                                 "format": "binary",
                                 "type": "string"
                              },
                              {
                                 "items": {},
                                 "type": "array"
                              },
                              {
                                 "additionalProperties": true,
                                 "type": "object"
                              }
                           ]
                        },
                        "type": "object"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "description": "The manifest annotations. Used for storing arbitrary metadata as\n            key-value pairs. Example: [{'smarter.sh/test-manifest/project-name': 'Scooby dooby do'}]. The\n            key should be a valid url-friendly string. The value accepts\n            multi-line string values (YAML block scalars) and various scalar types including\n            str, int, float, bool, datetime.date, datetime.datetime, decimal.Decimal, uuid.UUID, bytes, list, dict.\n            ",
               "title": "Annotations"
            }
         },
         "required": [
            "name",
            "description",
            "version"
         ],
         "title": "SAMProviderMetadata",
         "type": "object"
      },
      "SAMProviderSpec": {
         "description": "Smarter API Api Connection Manifest ApiConnection.spec",
         "properties": {
            "provider": {
               "$ref": "#/$defs/SAMProviderSpecProvider",
               "description": "Provider.spec.selector[obj]: the spec for the Provider"
            }
         },
         "required": [
            "provider"
         ],
         "title": "SAMProviderSpec",
         "type": "object"
      },
      "SAMProviderSpecProvider": {
         "description": "Smarter API - generic API Connection class.",
         "properties": {
            "name": {
               "description": "The name of the Provider. Case sensitive. Must be unique and not empty, with no leading or trailing whitespace and no special characters. examples: 'OpenAI', 'GoogleAI', 'MetaAI'.",
               "title": "Name",
               "type": "string"
            },
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A brief description of the Provider.",
               "title": "Description"
            },
            "base_url": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The base URL for the Provider's API.",
               "title": "Base Url"
            },
            "api_key": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The name of the Smarter Secret containing the API key to use for verification tests.",
               "title": "Api Key"
            },
            "connectivity_test_path": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "",
               "description": "The URL path to test connectivity with the Provider's API.",
               "title": "Connectivity Test Path"
            },
            "logo": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The logo of the Provider.",
               "title": "Logo"
            },
            "website_url": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The website_url URL of the Provider.",
               "title": "Website Url"
            },
            "contact_email": {
               "anyOf": [
                  {
                     "format": "email",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The contact email of the Provider.",
               "title": "Contact Email"
            },
            "support_email": {
               "anyOf": [
                  {
                     "format": "email",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The support email of the Provider.",
               "title": "Support Email"
            },
            "terms_of_service_url": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The terms of service URL of the Provider.",
               "title": "Terms Of Service Url"
            },
            "docs_url": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The documentation URL of the Provider.",
               "title": "Docs Url"
            },
            "privacy_policy_url": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The privacy policy URL of the Provider.",
               "title": "Privacy Policy Url"
            }
         },
         "required": [
            "name"
         ],
         "title": "SAMProviderSpecProvider",
         "type": "object"
      },
      "SAMProviderStatus": {
         "description": "Smarter API Provider Manifest - Status class.",
         "properties": {
            "recordLocator": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "recordLocator[String]: An optional identifier used to locate the resource record associated with this manifest. Read only.",
               "title": "Recordlocator"
            },
            "created": {
               "description": "The date in which this resource was created. Read only.",
               "format": "date-time",
               "title": "Created",
               "type": "string"
            },
            "modified": {
               "description": "The date in which this resource was most recently changed. Read only.",
               "format": "date-time",
               "title": "Modified",
               "type": "string"
            },
            "is_active": {
               "description": "Account.status.is_active: Indicates whether this Account is currently active. Read only.",
               "title": "Is Active",
               "type": "boolean"
            },
            "is_flagged": {
               "description": "Account.status.is_flagged: Indicates whether this Account has been flagged for review. Read only.",
               "title": "Is Flagged",
               "type": "boolean"
            },
            "is_deprecated": {
               "description": "Account.status.is_deprecated: Indicates whether this Account is deprecated. Read only.",
               "title": "Is Deprecated",
               "type": "boolean"
            },
            "is_suspended": {
               "description": "Account.status.is_suspended: Indicates whether this Account is currently suspended. Read only.",
               "title": "Is Suspended",
               "type": "boolean"
            },
            "is_verified": {
               "description": "Account.status.is_verified: Indicates whether this Account has been verified. Read only.",
               "title": "Is Verified",
               "type": "boolean"
            },
            "ownership_requested": {
               "anyOf": [
                  {
                     "format": "email",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Account.status.ownership_requested: The Smarter user that has requested ownership of this Account. Read only.",
               "title": "Ownership Requested"
            },
            "contact_email_verified": {
               "anyOf": [
                  {
                     "format": "date-time",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Account.status.contact_email_verified: The date in which the contact email for this Account was verified. Read only.",
               "title": "Contact Email Verified"
            },
            "support_email_verified": {
               "anyOf": [
                  {
                     "format": "date-time",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Account.status.support_email_verified: The date in which the support email for this Account was verified. Read only.",
               "title": "Support Email Verified"
            },
            "tos_accepted_at": {
               "anyOf": [
                  {
                     "format": "date-time",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Account.status.tos_accepted_at: The date in which the Terms of Service for this Account were accepted. Read only.",
               "title": "Tos Accepted At"
            },
            "tos_accepted_by": {
               "anyOf": [
                  {
                     "format": "email",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Account.status.tos_accepted_by: The Smarter user that accepted the Terms of Service for this Account. Read only.",
               "title": "Tos Accepted By"
            },
            "can_activate": {
               "default": true,
               "description": "Account.status.can_activate: Indicates whether this Account can be activated. Read only.",
               "title": "Can Activate",
               "type": "boolean"
            }
         },
         "required": [
            "created",
            "modified",
            "is_active",
            "is_flagged",
            "is_deprecated",
            "is_suspended",
            "is_verified"
         ],
         "title": "SAMProviderStatus",
         "type": "object"
      }
   },
   "required": [
      "apiVersion",
      "kind",
      "metadata",
      "spec"
   ]
}

Config:
  • from_attributes: bool = True

  • arbitrary_types_allowed: bool = True

  • frozen: bool = True

Fields:
Validators:
field metadata: SAMProviderMetadata [Required]

Provider.metadata[obj]: Required, the Provider metadata.

Validated by:
field spec: SAMProviderSpec [Required]

Provider.spec[obj]: Required, the Provider specification.

Validated by:
field status: Optional[SAMProviderStatus] = None

Provider.status[obj]: Optional, Read-only. Stateful status information about the Provider.

Validated by:
class_identifier: ClassVar[str] = 'Provider'