GeezerVison is showing developers.arcgis.com — arcgis.gis.video module | ArcGIS API for Python | Esri Developer
VideoServer
-
class arcgis.gis.video.VideoServer(url: str, gis=None)
Bases: BaseVideoServer
Object representing the main entry point for an ArcGIS Video Server
site.
Access management capabilities for resources such as machines, services, logs,
security, system, data, and uploads and the operations available through
these resources using the admin property to initialize administrative access,
and then using subsequent properties and methods on that object.
Objects of this class are not initialized directly, but instead are
obtained using the get()
or the list() methods of the API’s
ServerManager to retrieve a
VideoServer instance.
Example: Get a VideoServer object using ServerManager.list()
from arcgis.gis import GIS
gis = GIS(profile="your_enterprise_admin_profile")
server_mgr = gis.admin.servers
servers = server_mgr.list()
video_server_index = next(
index
for index, server in enumerate(servers)
if isinstance(server, VideoServer)
)
video_server = servers[video_server_index]
print(f"Video server object: {video_server}")
print(f"Type of object: {type(video_server)}")
Output:
Video server object: < VideoServer @ https://example.com:21443/arcgis/admin >
Type of object: <class 'arcgis.gis.video.api.VideoServer'>
Example #2: Get a VideoServer object using ServerManager.get()
from arcgis.gis import GIS
gis = GIS(profile="your_enterprise_admin_profile")
server_mgr = gis.admin.servers
vid_server = server_mgr.get(function="VideoServer")[0]
print(f"Video server object: {vid_server}")
print(f"Type of object: {type(vid_server)}")
Output:
Video server object: < VideoServer @ https://example.com:21443/arcgis/admin >
Type of object: <class 'arcgis.gis.video.api.VideoServer'>
-
property admin: AdminVideoServer
Return the root administrative endpoint for the ArcGIS Video Server’s
collection of resources. You can access functional areas - ranging from
machines to
services,
logs, and
uploads amongst others - through
various properties available on this object.
- Returns:
An AdminVideoServer instance.
Example: Access the administrative endpoint for a site:
from arcgis.gis import GIS
gis = GIS(profile="your_enterprise_admin_profile")
server_mgr = gis.admin.servers
vid_server = server_mgr.get(function="VideoServer")[0]
vid_admin = vid_server.admin
print(f"Video server admin object: {vid_admin}")
print(f"Type of object: {type(vid_admin)}")
Output:
Video server admin object: < AdminVideoServer @ https://example.com:21443/arcgis/admin >
Type of object: <class 'arcgis.gis.video.admin.api.AdminVideoServer'>
-
property info: dict[str, Any]
Returns a python dict containing site-level metadata, including
current version and authentication type, for the site.
- Returns:
A python dict containing server information returned from
the info
REST API resource.
Example: Get metadata about the Video Server site:
from arcgis.gis inport GIS
gis = GIS(profile="your_enterprise_admin_profile")
vid_server = gis.admin.servers.get(function="VideoServer")[0]
vs_info = vid_server.info
print(vs_info)
Output:
{'owningSystemUrl': 'https://example.com/<web_adaptor>',
'fullVersion': '12.2.0',
'currentVersion': 12.2,
'authInfo': {'tokenServicesUrl': 'https://example.com/<web_adaptor>/sharing/rest/generateToken',
'isTokenBasedSecurity': True}}
Administrative Classes
AdminVideoServer
-
class arcgis.gis.video.admin.api.AdminVideoServer(url: str, session: EsriSession)
Bases: object
Class providing access to the administrative root resource for an ArcGIS
Video Server
site.
Exposes manager objects for the collection of resources that provide access
to additional resources and operations for administering a Video Server site.
Objects of this class are not initialized directly. Use the
admin property of a
VideoServer object to obtain an instance:
Example: Initialize an AdminVideoServer object for a Video Server site:
from arcgis.gis import GIS
gis = GIS(profile="your_enterprise_admin_profile")
server_mgr = gis.admin.servers
vid_server = server_mgr.get(function="VideoServer")[0]
vid_admin = vid_server.admin
print(f"Video server admin object: {vid_admin}")
print(f"Type of object: {type(vid_admin)}")
Output:
Video server admin object: < AdminVideoServer @ https://example.com:21443/arcgis/admin >
Type of object: <class 'arcgis.gis.video.admin.api.AdminVideoServer'>
-
property about: dict[str, Any]
Return hardware, extension, and license metadata from the
Video Server About
resource. Detailed explanation and example of output information
provided at the link.
- Returns:
A python dict with current information. The key-value pairs
will vary depending on the server configuration.
Example: Get server about metadata
from arcgis.gis import GIS
gis = GIS(profile="your_enterprise_admin_profile")
vid_server = gis.admin.servers.get(function="VideoServer")[0]
about_info = vid_server.admin.about
about_info
Output:
{'currentBuild': '1547',
'serverRole': 'FEDERATED_SERVER',
'lastUpdated': 1785280314492,
...
'serverType': 'ARCGIS_VIDEO_SERVER',
'machines': [...],
...
'serverFunction': 'VideoServer',
'webAdaptors': [...]
}
-
property backup_restore_info: dict[str, Any]
Reports information regarding the current backup settings for
Video Server. This will include timestamps and flags for full and
incremental backup and restore activity.
Example: Get backup and restore information for the current site:
from arcgis.gis import GIS
gis = GIS(profile="your_enterprise_admin_profile")
vid_server = gis.admin.servers.get(function="VideoServer")[0]
backup_info = vid_server.admin.backup_restore_info
backup_info
Output: Example return values
{
'incrementalBackupTimeStamp': 0,
'incrementalRestoreTimeStamp': 0,
'incrementalBackupEnabled': False,
'fullBackupTimeStamp': 0,
'fullRestoreTimeStamp': 0,
'backupModeTimeStamp': 0
}
-
property data: DataManager
Return a resource with information and management capabilities for
the data items of the server. Provides the capability to find, register,
and validate datastores.
- Returns:
A DataManager object.
-
delete_site() → dict[str, Any]
Delete the current site configuration and release server resources.
Note
This is an unrecoverable operation. Use caution because it
removes services, settings, and site configuration.
-
delete_upload(id: str) → dict[str, Any]
Delete a previously uploaded item by its identifier.
Parameter |
Description |
id |
Required string. The
file_id
value for the uploaded item to delete. |
- Returns:
A python dict containing a status key or an error message
if the delete failed.
Example: Delete an uploaded item by its ID
from arcgis.gis import GIS
gis = GIS(profile="your_enterprise_admin_profile")
vid_server = gis.admin.servers.get(function="VideoServer")[0]
vid_admin = vid_server.admin
upload_list = vid_admin.uploads()
# Get the upload at the first index position of the list
upload_id = upload_list[0].file_id
response = vid_admin.delete_upload(id=upload_id)
-
export_site(destination: str, validate: bool) → dict[str, Any]
Export the current site configuration to a destination path. See the
Export Site
reference documentation for full description of the operation.
Parameter |
Description |
destination |
Required string. The file path or a reference ID from
the server to the stored configuration information. |
validate |
Required boolean. Indicates whether the operation will
validate the site archive before exporting. |
-
import_site(location: str, validate: bool) → dict[str, Any]
Import a site configuration into the current site. Replaces existing
services and administrative configuration with the imported site
archive content. See the
Import Site
reference documentation for full description of the operation.
Parameter |
Description |
location |
Required string. The file path to the site archive to import. |
validate |
Required boolean. Indicates whether the operation will
validate the site archive before importing. |
-
property info: dict[str, Any]
Return site-level metadata about the current Video Server site.
The response contains deployment metadata and login information
for the current site and session.
- Returns:
A python dict of metadata information:
Example: Administrative metadata for the current session:
from arcgis.gis import GIS
gis = GIS(profile="your_enterprise_admin_profile")
vid_server = gis.admin.servers.get(function="VideoServer")[0]
vid_admin_info = vid_server.admin.info
print("Video server admin info:")
vid_admin_info
Output:
{'fullVersion': '12.2.0',
'configStoreVersion': '3',
'loggedInUserPrivilege': 'ADMINISTER',
'currentversion': '12.2.0',
'loggedInUser': 'VidServer_admin',
'currentbuild': '1000'}
-
property logs: LogsManager
Return the logs manager for querying, cleaning, and configuring logs.
- Returns:
LogsManager
-
property machines: MachineManager
Provides access to a MachineManager
helper class to manage the machine resources, with ability to perform
machine-level inspection and administration operations.
Example: Access the machine manager
from arcgis.gis import GIS
gis = GIS(profile="your_enterprise_admin_profile")
vid_server = gis.admin.servers.get(function="VideoServer")[0]
machine_mgr = vid_server.admin.machines
print(type(machine_mgr))
Output:
<class 'arcgis.gis.video.admin.machines.api.MachineManager'>
-
property mode: dict[str, Any]
Get or set the current site mode of the Video Server site. See the
Video Server Mode
documentation for detailed explanantion of the resource this property
accesses.
- Returns:
A python dict with current site mode information, typically
including siteMode, copyConfigLocal, and lastModified keys.
To set the site mode, assign the mode property to a new
SiteMode object of either
READ_ONLY or
EDITABLE. Use:
Example: Set the site mode to READ_ONLY:
from arcgis.gis import GIS
from arcgis.gis.video.admin import SiteMode
gis = GIS(profile="your_enterprise_admin_profile")
vid_server = gis.admin.servers.get(function="VideoServer")[0]
vid_admin = vid_server.admin
vid_admin.mode = SiteMode.READ_ONLY
-
property queue_info: dict[str, Any]
Provides details about the system store that handles the messaging
and stability for the Video Server site.
Primary functions include updating service changes so webhooks can
query them, and coordinating multiple video uploads to ensure system
reliability.
- Returns:
A python dict of information with queueLength, numListeners,
and name keys.
Example: Get queue information for the current site
from arcgis.gis import GIS
gis = GIS(profile="your_enterprise_admin_profile")
vid_server = gis.admin.servers.get(function="VideoServer")[0]
queue_info = vid_server.admin.queue_info
queue_info
Output:
{'queueLength': 0, 'numListeners': 3, 'name': 'default'}
-
property security: SecurityManager
Return the security manager to manage all security operations avialable
for a Video Server site.
- Returns:
SecurityManager
-
property services: ServiceManager
Return the services manager for administrative service operations.
- Returns:
ServiceManager
-
property session: EsriSession
Return the current session object.
Example: Access the active session object
from arcgis.gis import GIS
gis = GIS(profile="your_enterprise_admin_profile")
vid_server = gis.admin.servers.get(function="VideoServer")[0]
vid_admin = vid_server.admin
current_session = vid_admin.session
print(type(current_session))
Output:
<class 'arcgis.auth._auth._token.EsriSession'>
-
property system: SystemManager
Return the system manager for server-wide configuration resources.
- Returns:
SystemManager
Example: Access the system manager
from arcgis.gis import GIS
gis = GIS(profile="your_enterprise_admin_profile")
vid_server = gis.admin.servers.get(function="VideoServer")[0]
system_mgr = vid_server.admin.system
print(type(system_mgr))
Output:
<class 'arcgis.gis.video.admin.system.api.SystemManager'>
-
uploads() → Iterable[Upload]
Get the uploaded items currently stored on the server.
- Returns:
A Python list of Upload
objects representing the uploaded items currently stored on the
server.
Example: Get the list of uploaded items
from arcgis.gis import GIS
gis = GIS(profile="your_enterprise_admin_profile")
vid_server = gis.admin.servers.get(function="VideoServer")[0]
vid_admin = vid_server.admin
uploaded_items = vid_admin.uploads()
print(f"Object Type: {type(uploaded_items[0])}")
for upload in uploaded_items:
print(f"Upload ID: {upload.file_id}, File Name: {upload.file_name}")
Output: Example of printing some properties of the uploaded items
Object Type: <class 'arcgis.gis.video.admin.model.Upload'>
Upload ID: i01214f77-e32a-4e38-bafe-9a330a4ab7f6, File Name: Factory_1.mpg
-
property url: str
Returns the root administrative resource URL endpoint.
Example: Read the admin root URL
from arcgis.gis import GIS
gis = GIS(profile="your_enterprise_admin_profile")
vid_server = gis.admin.servers.get(function="VideoServer")[0]
vid_admin = vid_server.admin
print(vid_admin.url)
Output:
https://example.com:21443/arcgis/admin
Administrative Logs Management
LogsManager
-
class arcgis.gis.video.admin.logs.api.LogsManager(url: str, session: EsriSession)
Bases: object
Manager object for the server records written by the various components
of the Video Server instance. Supports setting retrieval/updates,
log querying, log cleanup, and error report access.
Returned by the logs property.
-
clean() → bool
Delete all log records across site machines. The server will
periodically clean up old log records without running this operation,
but this operation can be used to immediately remove all log records.
- Returns:
A boolean indicating success (True) or failure (False).
-
error_reports() → dict[str, Any]
Return the list of available error report files.
- Returns:
A dictionary with the error report listing
-
get_error_report(filename: str) → str
Return the text contents of a specific error report file.
Argument |
Description |
filename |
Required string. The name of the error report file
to retrieve. This should be one of the files
returned by the
error_reports()
method. |
- Returns:
A dictionary with the error report listing
-
property properties: dict[str, Any]
Return metadata information about the logs endpoint of the
Video Server, including available operations and resources.
-
query(query: LogQuery) → Iterable[LogQueryResult]
Operation to query and retrieve all the log messages across the entire
ArcGIS Video Server site.
Argument |
Description |
query |
Required
LogQuery
object containing criteria to refine the output. |
- Returns:
An iterable of
LogQueryResult objects.
-
property session: EsriSession
Return the current session object.
-
property settings: LogSettings
Retrieve and/or set information about the current log settings.
- Returns:
A LogSettings object.
-
property url: str
The current URL
LogSettings
-
pydantic model arcgis.gis.video.admin.logs.model.LogSettings
Class to manage the current log settings for the Video Server deployment.
-
field directory: str | None [Required]
The location on the server where the logs reside
-
field error_report_count: int [Required]
The number of error reports to keep on the server.
-
field level: LogLevel | None [Required]
The logging level for the server
-
field log_age: int [Required]
The length the logs will keep on the server.
- Constraints:
-
LogQuery
-
pydantic model arcgis.gis.video.admin.logs.model.LogQuery
A class representing the query parameters used as the query argument
when using the query() method to query
the logs.
-
field end_time: _dt.datetime | None = None
The oldest time to include in the result set. You can use this to limit the query to the last few minutes or hours as needed.
-
field filter: Filter = Filter(codes=[], process_ids=[], request_ids=None, component=<Component.ALL: '*'>, services='*', machines='*')
Filtering provides flexibility and specificity by combining any of the filter properties from the Filter dataclass.
-
field level: LogLevel | None [Required]
The logging level for the server
-
field page_size: int = 1000
The maximum number of log records to be returned by this query. The default messages per page is 1000. The limit is 10000 records.
- Constraints:
-
-
field start_time: _dt.datetime | None = None
The most recent time to query. If the hasMore member of the response object is true, pass the endTime member as the startTime parameter for the next request to get the next set of records. Time can be specified in milliseconds since UNIX epoch or as an ArcGIS Server time stamp.
-
serialize_as_json_string(f: Filter, _info) → str
-
serialize_time_epoch(dt: datetime, _info) → int | str
Filter
-
pydantic model arcgis.gis.video.admin.logs.model.Filter
Filter criteria for narrowing log query results for use as the
filter value
in a LogQuery object.
-
field codes: list[int] | None = []
Specifies the log codes assigned to server logs. To query all codes, set the value to [].
-
field component: Component | None = Component.ALL
Specifies the server components delivering the log message. To query logs from all components, set the value to ALL.
-
field machines: str | list[str] | None = '*'
Specifies whether to query all or a specific machine in your server site. To query logs from all machines, set the value to *.
-
field process_ids: list[int] | None = []
Specifies the machine process IDs to query. The default is all process ids.
-
field request_ids: list[str] | None = None
Specifies an ID assigned to a specific server request.
-
field services: str | list[str] | None = '*'
Specifies whether to query all, none, or a specific service in your site. To query logs from all services, set the value to *.
-
serialize_list_with_brackets(items: List[str], _info)
LogQueryResult
-
pydantic model arcgis.gis.video.admin.logs.model.LogQueryResult
Object returned by the query method
of the LogsManager.
-
field end_time: _dt.datetime | int | None = None
The most recent time to query.
-
field has_more: bool [Required]
Indicates whether additional result pages are available.
-
field messages: list[dict] | None = None
The list of messages from the query result.
-
field start_time: _dt.datetime | int | None = None
The most recent time to query.
LogLevel
-
class arcgis.gis.video.admin.logs.model.LogLevel(*values)
Supported server log severity levels.
-
DEBUG = 'DEBUG'
-
FINE = 'FINE'
-
INFO = 'INFO'
-
OFF = 'OFF'
-
SEVERE = 'SEVERE'
-
VERBOSE = 'VERBOSE'
-
WARNING = 'WARNING'
Administrative Security Management
SecurityManager
-
class arcgis.gis.video.admin.security.api.SecurityManager(url: str, session: EsriSession)
Bases: object
Manage the video server site security resources. Exposes security configuration,
server-role transitions, and primary site administrator (PSA) operations.
Objects of this class are not meant to be instantiated directly, but instead
are accessed through the security
property of the AdminVideoServer object.
Example: Initialize a SecurityManager object
from arcgis.gis import GIS
gis=GIS(profile="your_enterprise_admin_profile")
vid_server = gis.admin.servers.get(role="VideoServer")[0]
vid_admin = vid_server.admin
security_mgr = vid_admin.security
security_mgr
Output:
< SecurityManager @ https://example.site.com/videoserver/admin/security >
-
change_server_role(role: ServerRole, function: str | None = None) → None
Change server role or function. Video Server deployments may perform queue-store synchronization during role changes depending on server function.
Parameter |
Description |
role |
A required ServerRole
member representing the new server role. |
function |
The new server function to assign (optional).
Only valid values is VideoServer. |
-
property config: SecurityConfiguration
Gets a SecurityConfiguration
object containing information about the security resource endpoint.
-
property properties: dict[str, Any]
Return security root metadata and available child resources.
-
property psa_properties: dict[str, Any]
Return PSA account metadata.
-
property session: EsriSession
Return the current session object.
-
set_psa_access(enabled: bool) → dict[str, str]
Enable or disable PSA account login access.
Parameter |
Description |
enabled |
A Python boolean indicating
whether to enable or disable PSA access. |
-
update_psa(username: str | None = None, password: str | None = None) → dict[str, str]
Update PSA credentials.
-
property url: str
Get the current URL endpoint for the security resource.
PortalProperties
-
pydantic model arcgis.gis.video.admin.security.model.PortalProperties
Federation metadata linking Video Server to Portal for ArcGIS.
-
field portal_mode: str [Required]
The portal mode. This must be ‘ARCGIS_PORTAL_FEDERATION’.
-
field portal_url: str [Required]
The URL of Portal for ArcGIS.
-
field private_hosting_server_url: str [Required]
The private URL of the portal’s hosting server.
-
field private_portal_url: str [Required]
The internal URL of Portal for ArcGIS.
-
field server_id: str [Required]
The ID of the server federated with the portal.
-
field server_url: str [Required]
The external URL of the server federated with the portal.
SecurityConfiguraton
-
pydantic model arcgis.gis.video.admin.security.model.SecurityConfiguration
Helper class for getting, setting, and managing the security operations on
a video server deployment. Objects of this class are returned by the
config property
of a SecurityManager object,
and can be updated and used to set new configuration values.
-
field allow_direct_access: bool [Required]
A Boolean that indicates whether a user with administrator privileges can access the server through port 2180. If true, all users with administrative access can access the Administrator Directory and ArcGIS Video Server Manager through port 2180. If false, users in the identity store cannot access the server through port 2180; users must access the site through ArcGIS Web Adaptor. The default value is true.
-
field allow_internet_cors_access: bool [Required]
A Boolean that controls the value of the Access-Control-Allow-Private-Network response header in a CORS preflight request to a REST service URL. This property supports the Private Network Access web specification (previously CORS-RFC1918), which aims to restrict websites accessed over a private network from making internal cross-origin requests.
-
field authentication_mode: str [Required]
Current authentication mode active for the deployment.
-
field authentication_tier: AuthenticationTier [Required]
Specifies the tier at which requests to access video services will be authenticated.
-
field cipher_suites: str [Required]
The cipher suites ArcGIS Video Server will use. The Valid cipher suites section below outlines the ciphers enabled by default, as well as valid ciphers that can be enabled.
-
field https_protocols: str [Required]
The TLS protocols ArcGIS Video Server will use. TLSv1.2 and TLSv1.3 (support for TLSv1.3 was added at 10.9) is enabled by default. You can also enable TLSv1 and TLSv1.1. Values must be separated by commas.
-
field portal_properties: PortalProperties [Required]
The properties used when federating ArcGIS Video Server with Portal for ArcGIS.
-
field server_function: str [Required]
The designated function of the server. This should be ‘VideoServer’ for a Video Server site.
-
field server_role: ServerRole [Required]
The name of the server role.
-
field server_type: str [Required]
The type of server. For a Video Server, this should be ‘ARCGIS_VIDEO_SERVER’.
-
field token_service_key: str [Required]
Internal signing/encryption key material used by the server token service.
AuthenticationTier
-
class arcgis.gis.video.admin.security.model.AuthenticationTier(*values)
Authentication tier options accepted by security configuration updates.
-
ARCGIS_PORTAL = 'ARCGIS_PORTAL'
-
GIS_SERVER = 'GIS_SERVER'
-
WEB_ADAPTOR = 'WEB_ADAPTOR'
ServerRole
-
class arcgis.gis.video.admin.security.model.ServerRole(*values)
Supported administrative server role values.
-
FEDERATED_SERVER = 'FEDERATED_SERVER'
-
STANDALONE_SERVER = 'STANDALONE_SERVER'
Administrative Services Management
ServiceManager
-
class arcgis.gis.video.admin.services.api.ServiceManager(url: str, session: EsriSession)
Bases: object
Manager object for administrative operations on Video Server services.
This manager provides operations for listing services, checking existence,
creating empty containers, and retrieving service resources.
Objects of this type are returned by the
services property
of a AdminVideoServer instance.
Example: Get a ServiceManager for a Video Server instance
from arcgis.gis import GIS
from arcgis.gis.video import VideoServer
gis = GIS(profile="your_enterprise_admin_profile")
vid_server = gis.admin.servers.get(function="VideoServer")[0]
svc_mgr = vid_server.admin.services
svc_mgr
Output:
< ServiceManager @ https://exampleserver.domain.com/webadaptor/video/admin/services >
-
create(service_name: str) → CreateResponse
Create a new video service container for layers.
- Returns:
CreateResponse
-
exists(service_name: str) → bool
Check whether a named service exists.
Parameter |
Description |
service_name |
Required string. Name of the service to check. |
- Returns:
A Python bool indicating whether the service exists.
-
get(service_name: str) → Service
Return a service resource by name.
Parameter |
Description |
service_name |
Required string. Name of the service to retrieve. |
- Returns:
A Service object.
-
list() → Generator[Service, None, None]
Retrieves all registered video services from the server.
- Returns:
A Python Generator of Service objects.
-
property session: EsriSession
Return the current session object.
-
property types: dict[str, Any]
Provides metadata for all the different services types and extensions
that can be enabled on each service.
ArcGIS Video Server only reports Video Services.
-
property url: str
The current URL for the resource endpoint.
CreateResponse
-
pydantic model arcgis.gis.video.admin.services.model.CreateResponse
Response object returned by the
create() method
of the ServiceManager.
-
field item_id: str [Required]
The id of the service
-
field name: str [Required]
The name of the service
-
field success: bool [Required]
The result of the create request indicating if the service was created
PortalProperties
-
pydantic model arcgis.gis.video.admin.services.model.PortalProperties
Portal association details for a service.
-
field portal_items: List[PortalItem] [Required]
Associated items in the Portal.
Service
-
class arcgis.gis.video.admin.services.api.Service(url, session)
Bases: object
Represent a single administrative video service resource.
Objects of this type are returned by the
get
or list methods.
-
delete(skip_portal_delete: bool) → bool
Delete this service.
Parameter |
Description |
skip_portal_delete |
Optional bool. When True, the backing Portal
item is not deleted. Default is False. |
- Returns:
A Python bool indicating whether the service was successfully deleted.
-
property info: BasicServiceInfo
Return service metadata for this video service resource.
- Returns:
BasicServiceInfo
-
property session: EsriSession
Return the current session object.
-
property url: str
The current URL
BasicServiceInfo
-
pydantic model arcgis.gis.video.admin.services.model.BasicServiceInfo
Basic metadata for an individual video service returned by the
info property.
-
field description: str [Required]
If the chosen video service includes a description, it will be output as a string in the description property.
-
field extensions: List[str] [Required]
If any extensions were used to publish the service, they will be listed as part of the extensions property.
-
field portal_properties: PortalProperties [Required]
Linked Portal item metadata for the service.
-
field service_name: str [Required]
The name of the selected video service.
-
field type: str [Required]
The type of service. For ArcGIS Video Server, this will always appear as VideoServer.
PortalItem
-
pydantic model arcgis.gis.video.admin.services.model.PortalItem
Information for any associated item in the connected ArcGIS Portal.
-
field item_id: str [Required]
The ID of the portal item.
-
field type: str [Required]
The type of the portal item.
LayerInfo
-
pydantic model arcgis.gis.video.admin.services.model.LayerInfo
Extended metadata for a video layer hosted by a service.
-
field copyright_text: str [Required]
Any associated copyright text
-
field created: str [Required]
When the layer was created
-
field description: str [Required]
The description of the layer, if provided
-
field id: int [Required]
The id of the video layer
-
field name: str [Required]
The name of the video layer
-
field service_type: str [Required]
The type of the service (ONDEMAND or LIVESTREAM)
-
field source_file: str [Required]
The file used to create the layer if the type is ONDEMAND
-
field source_files_info: list [Required]
Further information for any associated source files
-
field supported_query_formats: bool [Required]
Formats supported by layer query operations, such as JSON or GeoJSON.
-
field supports_export_clip: bool [Required]
Indicates if a clip can be exported from this video layer
-
field supports_export_frameset: bool [Required]
Indicates if framesets can be exported from this video layer
-
field supports_mensuration: bool [Required]
Indicates if the video layer supports mensuration.
-
field supports_previews: bool [Required]
Indicates if the video layer supports previews.
SourceFileInfo
-
pydantic model arcgis.gis.video.admin.services.model.SourceFileInfo
Metadata describing a source file associated with a video layer.
-
field content_type: str [Required]
The source file’s content type
-
field id: int [Required]
The assigned id for the source file
-
field name: str [Required]
The source file name
-
field size: str [Required]
The size of the source file (in bytes)
Administrative System Management
SystemManager
-
class arcgis.gis.video.admin.system.api.SystemManager(url: str, session: EsriSession)
Bases: object
Manager object to access a collection of miscellaneous server-wide
resources to get information on system properties, licensing details,
config-store metadata, directories, web adaptors, and livestream protocol/port
configuration.
Objects of this type are returned by the
system property.
-
property config_store: dict[str, str]
Retrieve information on all the server’s configurations, typically
including all resources such as machines, services and security rules.
The config store is the authoritative site configuration repository
used by all machines in the deployment.
- Returns:
A Python dict descibing configuration information.
-
property directories: DirectoryManager
Retrieves an object to manage all the server directories.
- Returns:
A DirectoryManager object.
-
property indexer: IndexManager
Return the index manager for status and reindex operations.
- Returns:
A IndexManager object.
-
licenses(by_machine: bool) → dict[str, Any]
Return information about the current license level of Video Server
and all extensions. The information is returned as a Python dict
object. The by_machine parameter controls whether the license information
is returned per machine.
- Returns:
A Python dict describing license information.
-
property livestream: LivestreamManager
Provide access to a manager object for all livestream configuration
and endpoint options.
- Returns:
A LivestreamManager object.
-
property properties: dict[str, Any]
Retrieves a Python dict or sets the properties to a new
SystemUpdateParameters object
with Video Server system configuration properties.
-
property session: EsriSession
Return the current session object.
-
property url: str
The current resource endpoint for system resources.
-
property web_adaptors: WebAdaptorManager
Gets a manager object for the web adaptor(s) in the deployment.
- Returns:
A WebAdaptorManager object.
SystemUpdateParameters
-
pydantic model arcgis.gis.video.admin.system.model.SystemUpdateParameters
Object that can be used to update system properties by creating a new
instance and assigning it to the properties
attribute of a SystemManager object.
Fields left as None are omitted from the update payload so existing
server settings can remain unchanged.
-
field disableServicesDirectory: bool | None [Required]
Whether the public services directory UI is disabled.
-
field maxFileUploadSize: int | None [Required]
Maximum upload size allowed by the server, in megabytes.
-
field max_frame_count: int | None [Required]
Maximum frame count processed per request for relevant server workflows.
ReindexMode
-
class arcgis.gis.video.admin.system.model.ReindexMode(*values)
-
ALL = 'ALL'
-
COVERAGE = 'COVERAGE'
-
FOOTPRINTS = 'FOOTPRINTS'
-
SERVICE = 'SERVICE'
DirectoryManager
-
class arcgis.gis.video.admin.system.api.DirectoryManager(url: str, session: EsriSession)
Bases: object
Manager object for all the server directories. Objects of this type
are returned by the
directories
property.
-
info(id: str) → DirectoryInformation
Return metadata for a single directory by ID.
- Returns:
A Python DirectoryInformation object.
-
property list: list[DirectoryInformation]
Return registered directory definitions.
- Returns:
A Python list of DirectoryInformation objects.
-
property session: EsriSession
Return the current session object.
-
property url: str
The current URL
DirectoryInformation
-
pydantic model arcgis.gis.video.admin.system.model.DirectoryInformation
Metadata for a registered system directory.
-
field id: str [Required]
The id of the directory
-
field name: str [Required]
The name of the directory
-
field path: str [Required]
The path to the directory
-
field type: str [Required]
The designated type for the directory contents
IndexManager
-
class arcgis.gis.video.admin.system.api.IndexManager(url: str, session: EsriSession)
Bases: object
Manage index status and reindex operations for the system. Objects
of this type are returned by the
indexer
property.
-
reindex(mode: ReindexMode) → dict[str, str]
Start a reindex operation for the requested mode.
- Returns:
A Python dict indicating results of the operation.
-
property session: EsriSession
Return the current session object.
-
property status: dict[str, str]
Return current index status as a Python dict.
-
property url: str
The current URL
LivestreamManager
-
class arcgis.gis.video.admin.system.api.LivestreamManager(url: str, session: EsriSession)
Bases: object
Manage livestream protocol and port settings. Objects of this class are
not created directly, but are returned by the
livestream
property.
-
property client_mode_protocols: ClientModeProtocols
Provide client playback protocol enablement flags as a
ClientModeProtocols object.
-
property properties: LivestreamInformation
Return the combined livestream configuration document.
- Returns:
dict[str, Any]
-
property server_mode_protocols: ServerModeProtocols
This resource displays whether WebRTC, HTTPS, Secure Reliable Transport (SRT),
User Datagram Protocol (UPD), Real-Time Messaging Protocol (RTMP, RTMPS),
and Real-Time Streaming Protocol (RTSP, RTSPS) livestreams are enabled or
disabled. The attribute provides access to a
ServerModeProtocols object.
-
property server_ports: ServerPorts
Retreives a ServerPorts
object with configured ingest/listener ports for livestream protocols.
-
property session: EsriSession
Return the current session object.
-
set_client_mode_protocols(protocols: ClientModeProtocols) → dict[str, Any]
Sets whether HTTPS, Real-Time Messaging Protocol (RTMP, RTMPS), and
Real-Time Streaming Protocol (RTSP, RTSPS) livestreams are enabled
or disabled.
- Returns:
dict[str, Any]
-
set_server_mode_protocols(protocols: ServerModeProtocols) → dict[str, Any]
Sets whether WebRTC, HTTPS, Secure Reliable Transport (SRT),
User Datagram Protocol (UPD), Real-Time Messaging Protocol (RTMP, RTMPS),
and Real-Time Streaming Protocol (RTSP, RTSPS) livestreams are enabled
or disabled.
- Returns:
dict[str, Any]
-
set_server_ports(ports: ServerPorts) → dict[str, Any]
Update livestream ingest/listener ports.
- Returns:
dict[str, Any]
-
property url: str
The current URL
LivestreamInformation
-
pydantic model arcgis.gis.video.admin.system.model.LivestreamInformation
Combined livestream configuration information returned by the
properties attribute
of the LivestreamManager object.
-
field client_mode_protocols: ClientModeProtocols | None [Required]
Protocol enablement for client playback workflows.
-
field livestream_ports: ServerPorts | None [Required]
Configured ingest/listener ports for livestream protocols.
-
field server_mode_protocols: ServerModeProtocols | None [Required]
Protocol enablement for server-side ingest workflows.
ClientModeProtocols
-
pydantic model arcgis.gis.video.admin.system.model.ClientModeProtocols
Protocol enablement flags for client playback mode.
-
field https: bool | None [Required]
Indicates whether HTTPS streams are enabled.
-
field rtmp: bool | None [Required]
Indicates whether RTMP streams are enabled.
-
field rtmps: bool | None [Required]
Indicates whether RTMPS streams are enabled.
-
field rtsp: bool | None [Required]
Indicates whether RTSP streams are enabled.
-
field rtsps: bool | None [Required]
Indicates whether RTSPS streams are enabled.
ServerModeProtocols
-
pydantic model arcgis.gis.video.admin.system.model.ServerModeProtocols
Protocol enablement flags for livestream ingest in server mode.
-
field rtmp: bool | None [Required]
Indicates whether RTMP streams are allowed in Server Mode.
-
field rtmp_listen: bool | None [Required]
Indicates whether listening for RTMP streams is allowed in Server Mode.
-
field rtsp: bool | None [Required]
Indicates whether RTSP streams are allowed in Server Mode.
-
field rtsp_listen: bool | None [Required]
Indicates whether listening for RTSP streams is allowed in Server Mode.
-
field srt: bool | None [Required]
Indicates whether SRT streams are allowed in Server Mode.
-
field srt_listen: bool | None [Required]
Indicates whether listening for SRT streams is allowed in Server Mode.
-
field udp: bool | None [Required]
Indicates whether SRT streams are allowed in Server Mode.
-
field udp_listen: bool | None [Required]
Indicates whether listening for UDP streams is allowed in Server Mode.
ServerPorts
-
pydantic model arcgis.gis.video.admin.system.model.ServerPorts
Livestream listener port settings.
-
field range_max: int | None = 65535
The maximum SRT/UDP port value.
- Constraints:
-
-
field range_min: int | None = 49152
The minimum SRT/UDP port value.
- Constraints:
-
-
field rtmp_port: int | None = 1935
The default port for RTMP livestreams.
- Constraints:
-
-
field rtsp_port: int | None = 554
The default port for RTSP livestreams.
- Constraints:
-
WebAdaptor
-
class arcgis.gis.video.admin.system.api.WebAdaptor(url: str, session: EsriSession)
Bases: object
Represent a single registered ArcGIS Web Adaptor.
Web adaptors provide the external entry point and reverse-proxy layer for
ArcGIS Video Server requests.
Objects of this class are not created directly, but are instead returned
by the list() method.
-
property properties: dict[str, Any]
Return endpoint JSON properties.
-
property session: EsriSession
Return the current session object.
-
unregister() → dict[str, str]
Unregister this web adaptor from the site.
-
property url: str
The current URL
WebAdaptorManager
-
class arcgis.gis.video.admin.system.api.WebAdaptorManager(url: str, session: EsriSession)
Bases: object
Manage web adaptor resources for the video server site. Objects of this
class are returned by the
web_adaptors
attribute of a SystemManager object.
-
property config: dict[str, str]
Get or set the shared web adaptor configuration.
Includes settings such as shared key material used by registered web
adaptors. Set the configuration by assigning a dictionary to this property.
Parameter |
Description |
config |
Required dict. The configuration items to be updated for this web
adaptor. Always include the web adaptor’s sharedkey attribute. |
-
list() → list
Returns a list of all registered web adaptors.
- Returns:
A Python list of WebAdaptor objects.
-
property properties: dict[str, Any]
Return web adaptor collection metadata.
-
property session: EsriSession
Return the current session object.
-
property url: str
The current URL
Administrative Data Management
DataManager
-
class arcgis.gis.video.admin.data.api.DataManager(url: str, session: EsriSession)
Bases: object
Manage datastore registration and validation for Video Server.
Data items
describe connections to folders, cloud stores, object stores, and relational
stores used by ArcGIS Video Server services. The class intializes an object
created using the Data
resource of a Video Server site.
Objects of this class are not initialized directy, but instead are accessed
using the data property on an
AdminVideoServer instance.
Example: Access the data manager for a Video Server instance:
from arcgis.gis import GIS
gis = GIS(profile="your_enterprise_admin_profile")
vid_server = gis.admin.servers.get(function="VideoServer")[0]
vid_admin = vid_server.admin
data_mgr = vid_admin.data
Example: Chaining properties together to access the data manager:
from arcgis.gis import GIS
gis = GIS(profile="your_enterprise_admin_profile")
vid_admin = gis.admin.servers.get(function="VideoServer")[0].admin
data_mgr = vid_admin.data
data_mgr
Output:
< DataManager @ https://example.com:21443/arcgis/admin/video/data >
-
add_cloud_store(item_desc: CloudStoreItemDescription) → dict[str, Any]
Sends a CloudStoreItemDescription
to register a cloud-store as a
data item with the
server’s datastore.
-
add_database(item_desc: NoSQLItemDescription) → dict[str, Any]
Sends a NoSQLItemDescription
to register a nosql database as a
data item with the
server’s datastore.
-
add_folder(item_desc: FolderItemDescription) → dict[str, Any]
Sends a FolderItemDescription
to register a folder as a
data item with the
server’s datastore.
-
add_object_store(item_desc: ObjectStoreItemDescription) → dict[str, Any]
Sends a ObjectStoreItemDescription
to register an object-store as a
data item with the
server’s datastore.
-
configure() → dict[str, Any]
Registers any currently relevant data items in the ArcGIS Enterprise
data stores with the Video Server data store.
-
property default_item: DataItem | None
Get or set the the default
data item. With
proper permissiions, you can assign a
data item
object to this property to set one.
-
find_items(search_params: DataItemSearchParams) → dict[str, str]
Search for registered data items, defining an optional
DataItemSearchParams object
to filter what is returned.
- Returns:
A Python dictionary containing an items key whose
value is a list of dictionary objects
providing properties of each registered data item.
Example: Finding data items
from arcgis.gis import GIS
from arcgis.gis.video.admin.data.model import DataItemSearchParams
gis = GIS(profile="your_enterprise_admin_profile")
vid_server = gis.admin.servers.get(function="VideoServer")[0]
vid_admin = vid_server.admin
data_mgr = vid_admin.data
dsearch_params = DataItemSearchParams(
types="nosql"
)
data_items = data_mgr.find_items(search_params=dsearch_params)
print(data_items)
Output:
{
"items": [
{
'path': '/nosqlDatabases/VideoDataStore_queue_P8KS6bwY',
'name': 'pwDDgfqR',
'id': '8fae8142-....-....-....-69202e52c315',
'type': 'nosql',
'info': {'hostname': 'EXAMPLE.COM',
'password': 'v2...t_ifHJ-kE....-Ku_M.',
'port': 45671,
'username': '5pwr8oxn'
}
]
}
-
property items: Generator[DataItem, None, None]
Retrieves a Python Generator of registered
DataItem objects on the
server
- Returns:
A Python Generator for iterating over
the objects of type DataItem.
Example: Get the list of registered data items for VideoServer
from arcgis.gis import GIS
gis = GIS(profile="your_enterprise_admin_profile")
vid_server = gis.admin.servers.get(function="VideoServer")[0]
data_mgr = vid_server.admin.data
item_generator = data_mgr.items
for data_item in item_generator:
print(f"{data_item.properties['type']:15} {type(data_item)}")
Output:
nosql <class 'arcgis.gis.video.admin.data.api.DataItem'>
folder <class 'arcgis.gis.video.admin.data.api.DataItem'>
folder <class 'arcgis.gis.video.admin.data.api.DataItem'>
-
register(item_desc: NoSQLItemDescription | FolderItemDescription | CloudStoreItemDescription | ObjectStoreItemDescription | dict[str, Any]) → dict[str, Any]
Registers a new DataItem with the
server’s data store by submitting one of the following instances for the
the item_desc argument:
The method sends the argument as a JSONencoded request to the server.
-
property session: EsriSession
Return the current session object.
-
synchronize_data_stores() → dict[str, Any]
Verfies that the connectivity for all registered data items are
accessible to all server nodes in the site and can used within the
server’s data store.
- Returns:
A Python dictionary containing a status key
indicating success or failure of the operation.
-
property url: str
The resource endpoint for managing the data holdings
of the Video Server server.
-
validate_data_item(item_desc: dict[str, str]) → dict[str, Any]
Checks to ensure that the key-value pairs representing the
definition of a data item are valid.
Verifies that the path or connection details are reachable from
all site machines before registration.
DataItem
-
class arcgis.gis.video.admin.data.api.DataItem(url: str, session: EsriSession)
Bases: object
Represent a single registered data item resource.
Instances provide item metadata, machine-level validation resources, and
item unregister support.
Objects of this class are not initialized directly; it is recommended to
retrieve them using the items
property of the DataManager.
Example: retrieve DataItem objects from DataManager.items
from arcgis.gis import GIS
gis = GIS(profile="your_enterprise_admin_profile")
vid_server = gis.admin.servers.get(function="VideoServer")[0]
vid_admin = vid_server.admin
data_mgr = vid_admin.data
data_item_list = list(data_mgr.items)
data_item_list
Output:
[< DataItem @ https://EXAMPLE.COM:21443/arcgis/admin/data/items/c8900a422f9b5e9141194a4d9146c584 >,
< DataItem @ https://EXAMPLE.COM:21443/arcgis/admin/data/items/75eaee91-8f4a-42e3-8f76-ae96291e5379 >,
< DataItem @ https://EXAMPLE.COM:21443/arcgis/admin/data/items/9eaa9491-f888-4af7-85b1-68802e44c311 >]
-
delete(force: bool) → dict[str, Any]
Unregisters this data item from the server’s data store.
-
property machines: Generator[Machine, None, None]
Retrieves a Python Generator for iterating
over the machine
resources associated with this data item.
- Returns:
A Python Generator
of machine objects.
-
property properties: dict[str, Any]
Retrieves a Python dictionary containing information
about the DataItem, including its type, server path, name, and
id value.
-
property session: EsriSession
Return the current EsriSession object.
-
property url: str
The resource endpoint for the registered data item.
Machine
-
class arcgis.gis.video.admin.data.api.Machine(url: str, session: EsriSession)
Bases: object
Represent a machine resource specific to a
DataItem registered with
the data store.
-
property properties: dict[str, Any]
Provides a Python dictionary whose key-value pairs
contain information about the mahine resource, including name and
configuration state.
-
property session: EsriSession
Return the current arcgis.auth.api.EsriSession object.
-
property url: str
The specific URL endpoint resource for this object.
-
validate() → dict[str, Any]
Checks whether the machine’s connectivity with the parent data item is
valid.
DataItemSearchParams
-
pydantic model arcgis.gis.video.admin.data.model.DataItemSearchParams
Objects of this class are accepted by the search_params argument of
the find_items() method.
Example: Searching for registered nosql data items
from arcgis.gis import GIS
from arcgis.gis.video.admin.data import DataItemSearchParams, DataItemType
gis = GIS(profile="your_enterprise_admin_profile")
vid_server = gis.admin.servers.get(function="VideoServer")[0]
vid_admin = vid_server.admin
data_mgr = vid_admin.data
search_terms = DataItemSearchParams(types=DataItemType.NOSQL)
data_items = data_mgr.find_items(search_params=search_terms)
data_items
Output example:
{'items': [{'path': '/nosqlDatabases/VideoDataStore_queue_Abdqr5fe',
'name': 'Zmwmak4x',
'id': '361c2390-4b76-419e-a4c5-cddfd23404ad',
'type': 'nosql',
'info': {
'hostname': '10.0.0.xxx',
'password': 'v2Cr..._tF8i6...seWaSdc-DT...kY.',
'port': 4xxx1,
'username': 'l4ip4coq'
}
}
]
}
-
field id: str | None = None
The ID of the data item
-
field managed: bool | None = None
Whether or not the items to be returned are managed by the system.
-
field types: str | DataItemType | None = None
Restrict the returned items to the specific type indicated.
DataItemDescription
-
pydantic model arcgis.gis.video.admin.data.model.DataItemDescription
Base payload for registering a data item with ArcGIS Video Server.
-
field path: str [Required]
The unique administrative path used to identify the registered data item.
-
field type: DataItemType [Required]
The registered data item type.
FileSystemInformation
-
pydantic model arcgis.gis.video.admin.data.model.FileSystemInformation
Connection details for a folder or file share data item.
-
field connection_string: str | None = None
Legacy JSON-string connection payload used by older folder-file-share request shapes.
-
field connection_type: str | None = None
Legacy folder-file-share connection type value used by older request shapes.
-
field data_store_connection_type: str [Required]
How the publisher and server relate to the same data, such as shared or replicated.
-
field host_name: str | None = None
Optional publisher host name used for replicated local-path folder registrations.
-
field path: str [Required]
The path to the folder as seen by ArcGIS Video Server.
CloudStoreConnectionString
-
pydantic model arcgis.gis.video.admin.data.model.CloudStoreConnectionString
Structured view of the JSON connectionString value used by cloud store registrations.
-
field access_key_id: str | None = None
Access key identifier for S3-compatible, Google, or Alibaba object storage.
-
field account_endpoint: str | None = None
Azure storage account endpoint suffix or host.
-
field account_key: str | None = None
Shared key used for Azure account-key authentication.
-
field account_name: str | None = None
Azure storage account name.
-
field authority_host: str | None = None
Authority host used during service principal authentication.
-
field client_id: str | None = None
Client identifier for service principal authentication.
-
field client_secret: str | None = None
Client secret for service principal authentication.
-
field credential_type: str | None = None
Authentication mode used for the cloud store connection.
-
field default_endpoints_protocol: str | None = None
Protocol used when constructing storage service endpoints, typically https.
-
field managed_identity_client_id: str | None = None
Client identifier for user-assigned managed identity authentication.
-
field region: str | None = None
Cloud region associated with the storage service endpoint.
-
field region_endpoint_url: str | None = None
Regional or private endpoint hostname for the cloud storage service.
-
field sas_token: str | None = None
Shared access signature token used for Azure SAS authentication.
-
field secret_access_key: str | None = None
Secret access key for S3-compatible, Google, or Alibaba object storage.
-
field tenant_id: str | None = None
Microsoft Entra tenant identifier for service principal authentication.
CloudStoreInformation
-
pydantic model arcgis.gis.video.admin.data.model.CloudStoreInformation
Connection details for a cloudStore data item.
-
field connection_string: CloudStoreConnectionString | str [Required]
Cloud store connection details, typically supplied as a JSON-string payload by the REST API.
-
field is_managed: bool | None = None
Indicates whether the cloud store is managed exclusively by the server.
-
field object_store: str [Required]
Bucket or container name, optionally including a subfolder path.
CloudStoreItemDescription
-
pydantic model arcgis.gis.video.admin.data.model.CloudStoreItemDescription
Register-item payload for a cloudStore data item.
-
field info: CloudStoreInformation [Required]
Connection details for the cloud store registration.
-
field provider: str [Required]
Cloud provider name, such as amazon, azure, google, or Alibaba.
-
field system_managed: bool | None = None
Indicates whether the backing store is managed by the wider ArcGIS Enterprise deployment.
-
field type: Literal[DataItemType.HOSTEDDATASTORE] = DataItemType.HOSTEDDATASTORE
Identifies the payload as a cloud store data item.
NoSQLInformation
-
pydantic model arcgis.gis.video.admin.data.model.NoSQLInformation
Connection details for a nosql data item such as an enterprise-managed store or queue store.
-
field connection_string: str | None = None
Connection string used by the server to connect to the nosql store.
-
field hostname: str | None = None
Host name for queue-style nosql store definitions.
-
field password: str | None = None
Password for queue-style nosql store definitions.
-
field port: int | None = None
Port for queue-style nosql store definitions.
-
field username: str | None = None
User name for queue-style nosql store definitions.
NoSQLItemDescription
-
pydantic model arcgis.gis.video.admin.data.model.NoSQLItemDescription
Register-item payload for a nosql data item.
-
field child_items: list[Any] | None = None
Optional child items returned by the admin API for hierarchical data item listings.
-
field id: str | None = None
Optional identifier returned for an existing registered nosql data item.
-
field info: NoSQLInformation [Required]
Connection details for the nosql store registration.
-
field provider: str | None = None
Provider name for the nosql store implementation.
-
field type: Literal[DataItemType.NOSQL] = DataItemType.NOSQL
Identifies the payload as a nosql data item.
ObjectStoreMachine
-
pydantic model arcgis.gis.video.admin.data.model.ObjectStoreMachine
Minimal object store machine metadata returned by enterprise-managed object store definitions.
-
field name: str | None = None
Machine name participating in the object store deployment.
ObjectStoreInformation
-
pydantic model arcgis.gis.video.admin.data.model.ObjectStoreInformation
Connection and deployment details for an objectStore data item.
-
field connection_string: str [Required]
Connection string used by ArcGIS to connect to the object store.
-
field datastore_name: str [Required]
Name assigned to the object store deployment in ArcGIS Enterprise.
-
field ds_feature: str [Required]
Datastore feature designation for the registration, typically objectStore.
-
field implementation: str [Required]
Backing object store implementation, such as Ozone.
-
field machines: list[ObjectStoreMachine] | None = None
Optional machine metadata for object stores backed by ArcGIS Data Store.
-
field object_store: str [Required]
Registered object store identifier, bucket, or container name.
ObjectStoreItemDescription
-
pydantic model arcgis.gis.video.admin.data.model.ObjectStoreItemDescription
Register-item payload for an objectStore data item.
-
field child_items: list[Any] | None = None
Optional child items returned by the admin API for hierarchical data item listings.
-
field id: str | None = None
Optional identifier returned for an existing registered object store.
-
field info: ObjectStoreInformation [Required]
Connection and deployment details for the object store.
-
field provider: str | None = None
Provider name for the object store implementation.
-
field type: Literal[DataItemType.OBJECTSTORE] = DataItemType.OBJECTSTORE
Identifies the payload as an object store data item.
FolderItemDescription
-
pydantic model arcgis.gis.video.admin.data.model.FolderItemDescription
Register-item payload for a folder or file share data item.
-
field client_path: str | None = None
Optional publisher-visible path when the folder is replicated rather than shared.
-
field info: FileSystemInformation [Required]
Server-side file system connection details for the folder item.
-
field type: Literal[DataItemType.FILESYSTEM] = DataItemType.FILESYSTEM
Identifies the payload as a folder data item.
DataItemType
-
class arcgis.gis.video.admin.data.model.DataItemType(*values)
Enumeration of supported DataItem
types to register as a holding of the data store. An element of this
enumration should be entered as the types argument when initializing a
DataItemSearchParams object.
-
FILESYSTEM = 'folder'
-
HOSTEDDATASTORE = 'cloudStore'
-
NOSQL = 'nosql'
-
OBJECTSTORE = 'objectStore'
Administrative Machine Management
MachineManager
-
class arcgis.gis.video.admin.machines.api.MachineManager(url: str, session: EsriSession)
Bases: object
An object for managing all the machines within the Video Server site.
The collection represents site compute capacity and machine-level
administration resources.
-
list() → Iterable[Machine]
Return all Machine
object resources for all registered machines.
- Returns:
A Python list of
Machine objects.
-
property properties: dict[str, Any]
Reports various machine collection metadata, including configuration
state, machine name, and other relevant information in a Python
dict object.
-
property session: EsriSession
Return the current session object.
-
property url: str
The current URL of the machines resoure endpoint.
Machine
-
class arcgis.gis.video.admin.machines.api.Machine(url: str, session: EsriSession)
Bases: object
Represent a single machine resource, including access to information
such as machine settings, hardware details, SSL certificate operations,
and GPU tooling access.
Objects of this class are not meant to be created directly, but are
returned by the list
method.
-
create_self_signed_cert(cert_params: SelfSignedCertificateParameters) → dict[str, Any]
Generate a self-signed SSL certificate for this machine.
The certificate is stored in the machine keystore and is intended
primarily for development or staging use.
- Returns:
A Python dictionary with a status
key indicating success or failure of the operation.
-
delete_certificate(certificate: str) → dict[str, Any]
Deletes a SSL certificate using the certificate alias.
Parameter |
Description |
certificate |
Required string. The name of the certificate to delete |
- Returns:
A Python string stating “success” or error message.
-
edit(edit_params: MachineEditParameters) → dict
Make changes to the configurable machine settings. This operation may
trigger a server restart depending on changed settings.
Argument |
Description |
edit_params |
Required
MachineEditParameters
object containing the desired machine settings to update. |
- Returns:
A Python dictionary object.
-
export_certificate(certificate: str) → bytes
Downloads an SSL certificate. The file returned by the
server is an X.509 certificate. The downloaded certificate can then
be imported into a client that is making HTTP requests.
Parameter |
Description |
certificate |
Required string. The name of the certificate in the key store. |
- Returns:
The SSL certificate object (bytes).
-
generate_CSR(certificate: str) → dict[str, Any]
Generates a certificate signing request (CSR) for a
self-signed certificate. A CSR is required by a CA to create a
digitally signed version of your certificate. Supply the certificate
object that was created with method ssl_certificate.
Parameter |
Description |
certificate |
Required string. The name of the certificate in the key store. |
- Returns:
A Python dictionary object with the CSR.
-
property gpu: GPUManager
An object for managing GPU operations of the machine.
- Returns:
A GPUManager object.
-
property hardware: dict[str, Any]
Return the current hardware information for this machine.
- Returns:
A Python dictionary object describing the
machine hardware. See the
Video Server hardware documentation for
full detailed response example.
-
import_existing_server_certificate(alias: str, cert_password: str, cert_file: str) → dict[str, Any]
Imports an existing server certificate, stored in
the PKCS #12 format, into the keystore.
If the certificate is a CA-signed certificate, you must first
import the CA root or intermediate certificate using the
importRootCertificate operation.
Parameter |
Description |
alias |
Required string. A unique name for the certificate that easily
identifies it. |
cert_password |
Required string. The password to unlock the file containing the certificate. |
cert_file |
Required string. The multi-part POST parameter containing the certificate file. |
- Returns:
A boolean indicating success (True) or failure (False).
-
import_root_certificate(alias: str, root_CA_certificate: str) → dict[str, Any]
Imports a certificate authority’s (CA) root and intermediate
certificates into the keystore.
To create a production quality CA-signed certificate, you need to
add the CA’s certificates into the keystore that enables the SSL
mechanism to trust the CA (and the certificates it is signed).
While most of the popular CA’s certificates are already available
in the keystore, you can use this operation if you have a custom
CA or specific intermediate certificates.
Parameter |
Description |
alias |
Required string. The name of the certificate. |
root_CA_certificate |
Required string. The multi-part POST parameter containing the certificate file. |
- Returns:
A boolean indicating success (True) or failure (False).
-
import_signed_certificate(certificate: str, ca_signed_certificate: str) → dict[str, Any]
Imports a certificate authority (CA)-signed SSL certificate into the key store.
Parameter |
Description |
certificate |
Required string. The name of the certificate in the key store. |
ca_signed_certificate |
Required string. The multi-part POST parameter containing the
signed certificate file. |
- Returns:
A boolean indicating success (True) or failure (False).
-
property properties: dict[str, Any]
Return machine properties from the machine detail endpoint.
-
property session: EsriSession
Return the current session object.
-
ssl_certificate(certificate: str) → dict[str, Any]
Gets a single self-signed certificate object.
Note
Even though a self-signed certificate can be used to enable SSL, it
is recommended that you use a self-signed certificate only on staging
or development servers.
Parameter |
Description |
certificate |
Required string. The name of the certificate in the key store to
grab information from. |
- Returns:
A Python dictionary object describing the certificate.
-
property ssl_certificates: dict[str, Any]
Gets the list of all the certificates (self-signed and CA-signed)
created for the server machine. The server securely stores these
certificates inside a key store within the configuration store.
-
property tool_status: dict[str, Any]
Report on machine diagnostics, particularly useful to run if is not
clear whether a specific function of the site is running.
- Returns:
A Python dictionary object describing. See the
Tool Status response properties
for full details.
-
unregister() → dict[str, Any]
Unregister this machine from the site.
After unregistering, the machine no longer participates in service
execution for this deployment.
- Returns:
A Python dictionary with a status
key indicating success or failure of the operation.
-
property url: str
The current URL endpoint for this machine resource.
GPUManager
-
class arcgis.gis.video.admin.machines.api.GPUManager(url: str, session: EsriSession)
Bases: object
Object for managing the GPU limit operations for a machine. This object
is not meant to be created directly, but is returned by the
gpu
property of a Machine object.
-
check() → dict[str, Any]
Run the GPU limit check tool on this machine.
- Returns:
A Python dictionary object with the server response.
-
edit(limit: int) → dict[str, Any]
Manually set the GPU limit for this machine.
Parameter |
Description |
limit |
The desired GPU Limit, as an integer. This value should reflect the
actual number of available GPUs in an environment. |
- Returns:
Parsed JSON response when available. Some server versions return
an empty 200 body after applying the update; in that case this
method returns {"success": True}.
-
property info: GPULimitInfo
Return current GPU limit information.
- Returns:
A Python dictionary object with GPU limit information.
-
property properties: dict[str, Any]
Return GPU manager endpoint metadata.
-
property session: EsriSession
Return the current session object.
-
property url: str
The current URL
GPULimitInfo
-
pydantic model arcgis.gis.video.admin.machines.model.GPULimitInfo
GPU limit status returned by machine GPU endpoints.
-
field lastExecuted: int [Required]
When the limit check was last executed on the machine.
-
field limit: int [Required]
The number of GPUs set for the video server to use.
SelfSignedCertificateParameters
-
pydantic model arcgis.gis.video.admin.machines.model.SelfSignedCertificateParameters
Parameters used to generate a self-signed certificate for a machine.
-
field alias: str [Required]
A unique name that easily identifies the certificate.
-
field city: str [Required]
The name of the city or locality, for example, Redlands.
-
field common_name: str [Required]
Use the domain name of your server name as the common name. If your server will be accessed on the Internet through the URL https://www.Video.com:11443/arcgis/, use www.Videoserver.com as the common name. If your server will only be accessible on your local area network (LAN) through the URL https://Videoserver.domain.com:11443/arcgis/, use Videoserver as the common name.
-
field country: str [Required]
The abbreviated code for your country, for example, US.
-
field keyalg: str | None [Required]
The algorithm used to generate the key pairs. The default is RSA.
-
field keysize: int [Required]
Specifies the size in bits to use when generating the cryptographic keys used to create the certificate. The larger the key size, the harder it is to break the encryption; however, the time to decrypt encrypted data increases with key size. For DSA, the key size can be between 512 and 1,024. For RSA, the recommended key size is 2,048 or greater.
- Constraints:
-
-
field org_unit: str [Required]
The name of your organizational unit, for example, GIS Department.
-
field organization: str [Required]
The name of your organization, for example, Esri.
-
field san: str | None [Required]
The subject alternative name (SAN) is an optional parameter that defines alternatives to the common name (CN) specified in the SSL certificate. There cannot be any spaces in the SAN parameter value. If no SAN is defined, a website can only be accessed (without SSL certificate errors) by using the common name in the URL. If a SAN is defined and a DNS name is present, the website can only be accessed by what is listed in the SAN. Multiple DNS names can be specified if desired. For example, the URLs https://www.esri.com, https://esri, and https://10.60.1.16 can be used to access the same site if the SSL certificate is created using the following SAN parameter value: DNS:www.esri.com,DNS:esri,IP:10.60.1.16
-
field sigalg: str | None [Required]
Use the default (SHA1withRSA). If your organization has specific security restrictions, then one of the following algorithms can be used for DSA: SHA256withRSA, SHA384withRSA, SHA512withRSA, SHA1withDSA.
-
field state: str [Required]
The full name of your state or province, for example, California.
-
field validity: int = 90
The total time in days during which this certificate will be valid, for example, 365. The default is 90.
- Constraints:
-
MachineEditParameters
-
pydantic model arcgis.gis.video.admin.machines.model.MachineEditParameters
Editable machine settings posted to /admin/machines/{machine}/edit.
-
field admin_url: str | None [Required]
The URL where the administrator API is running on the server machine.
-
field cert_alias: str | None [Required]
The alias of the web server SSL certificate.
-
field max_heap: int | None [Required]
Defines the maximum file size (in MB) that the web server’s Java process can send to ArcGIS Video Server. The default value is -1 MB, meaning the web server will use one-fourth of the available system memory as the maximum heap size. If you are observing a server performance impact and you have additional system memory, you can increase the heap size of the web server by updating this value from the default of -1 MB to an appropriate value. Note that doing so will potentially increase the amount of memory assigned to ArcGIS Video Server processes by your operating system. If you have a multiple-machine site, this property should be identical on each of your machines.
- Constraints:
-
-
field num_processors: int | None [Required]
Defines the number of video processors available on ArcGIS Video Server. The default value is 1 and can be increased if needed. For most users, 1 will be sufficient.
- Constraints:
-
Dataclasses
Upload
-
pydantic model arcgis.gis.video.admin.model.Upload
Metadata describing an uploaded file resource.
-
field committed: bool [Required]
Whether the upload has been finalized and committed by the server.
-
field content_type: str [Required]
The type of data contained in the upload file.
-
field date: int | None [Required]
The date when the upload was added to the server.
-
field description: str | None = None
A description of the upload, if provided.
-
field file_id: str [Required]
System generated id for the uploaded file.
-
field file_name: str [Required]
The file name for the upload.
-
field owner: str [Required]
The owner of the upload.
SiteMode
-
class arcgis.gis.video.admin.model.SiteMode(*values)
Site mode values used by the admin /mode operation.
READ_ONLY blocks most publishing and administrative edits while
existing services continue serving content.
-
EDITABLE = 'EDITABLE'
-
READ_ONLY = 'READ_ONLY'
|