openapi: 3.2.0 info: title: 'Automation Hub Remotes: File API' version: v3 description: Fetch, Upload, Organize, and Distribute Ansible Collections contact: name: Automation Hub Team email: ansible-galaxy-team@redhat.com url: https://www.ansible.com/products/automation-hub license: name: GPLv2+ url: https://raw.githubusercontent.com/ansible/galaxy_ng/main/LICENSE x-logo: url: https://pulp.plan.io/attachments/download/517478/pulp_logo_word_rectangle.svg x-pulp-app-versions: core: 3.49.40 galaxy: 4.12.0dev ansible: 0.25.1 container: 2.19.5 certguard: 3.49.40 file: 3.49.40 x-pulp-domain-enabled: false servers: - url: http://automation-hub-backend-cwa.automation-hub-prod.svc.cluster.local:8000/ tags: - name: 'Remotes: File' paths: /api/automation-hub/pulp/api/v3/remotes/file/file/: get: operationId: remotes_file_file_list description: 'FileRemote represents an external source of File Content. The target url of a FileRemote must contain a file manifest, which contains the metadata for all files at the source.' summary: List file remotes parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - in: query name: name schema: type: string description: Filter results where name matches value - in: query name: name__contains schema: type: string description: Filter results where name contains value - in: query name: name__icontains schema: type: string description: Filter results where name contains value - in: query name: name__iexact schema: type: string description: Filter results where name matches value - in: query name: name__in schema: type: array items: type: string description: Filter results where name is in a comma-separated list of values explode: false style: form - in: query name: name__iregex schema: type: string description: Filter results where name matches regex value - in: query name: name__istartswith schema: type: string description: Filter results where name starts with value - in: query name: name__regex schema: type: string description: Filter results where name matches regex value - in: query name: name__startswith schema: type: string description: Filter results where name starts with value - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - in: query name: ordering schema: type: array items: type: string enum: - -ca_cert - -client_cert - -client_key - -connect_timeout - -download_concurrency - -headers - -max_retries - -name - -password - -pk - -policy - -proxy_password - -proxy_url - -proxy_username - -pulp_created - -pulp_id - -pulp_labels - -pulp_last_updated - -pulp_type - -rate_limit - -sock_connect_timeout - -sock_read_timeout - -tls_validation - -total_timeout - -url - -username - ca_cert - client_cert - client_key - connect_timeout - download_concurrency - headers - max_retries - name - password - pk - policy - proxy_password - proxy_url - proxy_username - pulp_created - pulp_id - pulp_labels - pulp_last_updated - pulp_type - rate_limit - sock_connect_timeout - sock_read_timeout - tls_validation - total_timeout - url - username description: 'Ordering * `pulp_id` - Pulp id * `-pulp_id` - Pulp id (descending) * `pulp_created` - Pulp created * `-pulp_created` - Pulp created (descending) * `pulp_last_updated` - Pulp last updated * `-pulp_last_updated` - Pulp last updated (descending) * `pulp_type` - Pulp type * `-pulp_type` - Pulp type (descending) * `name` - Name * `-name` - Name (descending) * `pulp_labels` - Pulp labels * `-pulp_labels` - Pulp labels (descending) * `url` - Url * `-url` - Url (descending) * `ca_cert` - Ca cert * `-ca_cert` - Ca cert (descending) * `client_cert` - Client cert * `-client_cert` - Client cert (descending) * `client_key` - Client key * `-client_key` - Client key (descending) * `tls_validation` - Tls validation * `-tls_validation` - Tls validation (descending) * `username` - Username * `-username` - Username (descending) * `password` - Password * `-password` - Password (descending) * `proxy_url` - Proxy url * `-proxy_url` - Proxy url (descending) * `proxy_username` - Proxy username * `-proxy_username` - Proxy username (descending) * `proxy_password` - Proxy password * `-proxy_password` - Proxy password (descending) * `download_concurrency` - Download concurrency * `-download_concurrency` - Download concurrency (descending) * `max_retries` - Max retries * `-max_retries` - Max retries (descending) * `policy` - Policy * `-policy` - Policy (descending) * `total_timeout` - Total timeout * `-total_timeout` - Total timeout (descending) * `connect_timeout` - Connect timeout * `-connect_timeout` - Connect timeout (descending) * `sock_connect_timeout` - Sock connect timeout * `-sock_connect_timeout` - Sock connect timeout (descending) * `sock_read_timeout` - Sock read timeout * `-sock_read_timeout` - Sock read timeout (descending) * `headers` - Headers * `-headers` - Headers (descending) * `rate_limit` - Rate limit * `-rate_limit` - Rate limit (descending) * `pk` - Pk * `-pk` - Pk (descending)' explode: false style: form - in: query name: pulp_href__in schema: type: array items: type: string description: Multiple values may be separated by commas. explode: false style: form - in: query name: pulp_id__in schema: type: array items: type: string format: uuid description: Multiple values may be separated by commas. explode: false style: form - in: query name: pulp_label_select schema: type: string description: Filter labels by search string - in: query name: pulp_last_updated schema: type: string format: date-time description: Filter results where pulp_last_updated matches value - in: query name: pulp_last_updated__gt schema: type: string format: date-time description: Filter results where pulp_last_updated is greater than value - in: query name: pulp_last_updated__gte schema: type: string format: date-time description: Filter results where pulp_last_updated is greater than or equal to value - in: query name: pulp_last_updated__lt schema: type: string format: date-time description: Filter results where pulp_last_updated is less than value - in: query name: pulp_last_updated__lte schema: type: string format: date-time description: Filter results where pulp_last_updated is less than or equal to value - in: query name: pulp_last_updated__range schema: type: array items: type: string format: date-time description: Filter results where pulp_last_updated is between two comma separated values explode: false style: form - in: query name: q schema: type: string - in: query name: fields schema: type: array items: type: string description: A list of fields to include in the response. - in: query name: exclude_fields schema: type: array items: type: string description: A list of fields to exclude from the response. tags: - 'Remotes: File' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Paginatedfile.FileRemoteResponseList' description: '' post: operationId: remotes_file_file_create description: 'FileRemote represents an external source of File Content. The target url of a FileRemote must contain a file manifest, which contains the metadata for all files at the source.' summary: Create a file remote tags: - 'Remotes: File' requestBody: content: application/json: schema: $ref: '#/components/schemas/file.FileRemote' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/file.FileRemote' multipart/form-data: schema: $ref: '#/components/schemas/file.FileRemote' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/file.FileRemoteResponse' description: '' /api/automation-hub/pulp/api/v3/remotes/file/file/{pulp_id}/: get: operationId: remotes_file_file_read description: 'FileRemote represents an external source of File Content. The target url of a FileRemote must contain a file manifest, which contains the metadata for all files at the source.' summary: Inspect a file remote parameters: - in: path name: pulp_id schema: type: string format: uuid description: A UUID string identifying this file remote. required: true - in: query name: fields schema: type: array items: type: string description: A list of fields to include in the response. - in: query name: exclude_fields schema: type: array items: type: string description: A list of fields to exclude from the response. tags: - 'Remotes: File' responses: '200': content: application/json: schema: $ref: '#/components/schemas/file.FileRemoteResponse' description: '' put: operationId: remotes_file_file_update description: Trigger an asynchronous update task summary: Update a file remote parameters: - in: path name: pulp_id schema: type: string format: uuid description: A UUID string identifying this file remote. required: true tags: - 'Remotes: File' requestBody: content: application/json: schema: $ref: '#/components/schemas/file.FileRemote' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/file.FileRemote' multipart/form-data: schema: $ref: '#/components/schemas/file.FileRemote' required: true responses: '202': content: application/json: schema: $ref: '#/components/schemas/AsyncOperationResponse' description: '' patch: operationId: remotes_file_file_partial_update description: Trigger an asynchronous partial update task summary: Update a file remote parameters: - in: path name: pulp_id schema: type: string format: uuid description: A UUID string identifying this file remote. required: true tags: - 'Remotes: File' requestBody: content: application/json: schema: $ref: '#/components/schemas/Patchedfile.FileRemote' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Patchedfile.FileRemote' multipart/form-data: schema: $ref: '#/components/schemas/Patchedfile.FileRemote' required: true responses: '202': content: application/json: schema: $ref: '#/components/schemas/AsyncOperationResponse' description: '' delete: operationId: remotes_file_file_delete description: Trigger an asynchronous delete task summary: Delete a file remote parameters: - in: path name: pulp_id schema: type: string format: uuid description: A UUID string identifying this file remote. required: true tags: - 'Remotes: File' responses: '202': content: application/json: schema: $ref: '#/components/schemas/AsyncOperationResponse' description: '' /api/automation-hub/pulp/api/v3/remotes/file/file/{pulp_id}/add_role/: post: operationId: remotes_file_file_add_role description: Add a role for this object to users/groups. summary: Add a role parameters: - in: path name: pulp_id schema: type: string format: uuid description: A UUID string identifying this file remote. required: true tags: - 'Remotes: File' requestBody: content: application/json: schema: $ref: '#/components/schemas/NestedRole' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/NestedRole' multipart/form-data: schema: $ref: '#/components/schemas/NestedRole' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/NestedRoleResponse' description: '' /api/automation-hub/pulp/api/v3/remotes/file/file/{pulp_id}/list_roles/: get: operationId: remotes_file_file_list_roles description: List roles assigned to this object. summary: List roles parameters: - in: path name: pulp_id schema: type: string format: uuid description: A UUID string identifying this file remote. required: true - in: query name: fields schema: type: array items: type: string description: A list of fields to include in the response. - in: query name: exclude_fields schema: type: array items: type: string description: A list of fields to exclude from the response. tags: - 'Remotes: File' responses: '200': content: application/json: schema: $ref: '#/components/schemas/ObjectRolesResponse' description: '' /api/automation-hub/pulp/api/v3/remotes/file/file/{pulp_id}/my_permissions/: get: operationId: remotes_file_file_my_permissions description: List permissions available to the current user on this object. summary: List user permissions parameters: - in: path name: pulp_id schema: type: string format: uuid description: A UUID string identifying this file remote. required: true - in: query name: fields schema: type: array items: type: string description: A list of fields to include in the response. - in: query name: exclude_fields schema: type: array items: type: string description: A list of fields to exclude from the response. tags: - 'Remotes: File' responses: '200': content: application/json: schema: $ref: '#/components/schemas/MyPermissionsResponse' description: '' /api/automation-hub/pulp/api/v3/remotes/file/file/{pulp_id}/remove_role/: post: operationId: remotes_file_file_remove_role description: Remove a role for this object from users/groups. summary: Remove a role parameters: - in: path name: pulp_id schema: type: string format: uuid description: A UUID string identifying this file remote. required: true tags: - 'Remotes: File' requestBody: content: application/json: schema: $ref: '#/components/schemas/NestedRole' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/NestedRole' multipart/form-data: schema: $ref: '#/components/schemas/NestedRole' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/NestedRoleResponse' description: '' /api/automation-hub/pulp/api/v3/remotes/file/file/{pulp_id}/set_label/: post: operationId: remotes_file_file_set_label description: Set a single pulp_label on the object to a specific value or null. summary: Set a label parameters: - in: path name: pulp_id schema: type: string format: uuid description: A UUID string identifying this file remote. required: true tags: - 'Remotes: File' requestBody: content: application/json: schema: $ref: '#/components/schemas/SetLabel' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SetLabel' multipart/form-data: schema: $ref: '#/components/schemas/SetLabel' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/SetLabelResponse' description: '' /api/automation-hub/pulp/api/v3/remotes/file/file/{pulp_id}/unset_label/: post: operationId: remotes_file_file_unset_label description: Unset a single pulp_label on the object. summary: Unset a label parameters: - in: path name: pulp_id schema: type: string format: uuid description: A UUID string identifying this file remote. required: true tags: - 'Remotes: File' requestBody: content: application/json: schema: $ref: '#/components/schemas/UnsetLabel' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/UnsetLabel' multipart/form-data: schema: $ref: '#/components/schemas/UnsetLabel' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UnsetLabelResponse' description: '' components: schemas: Policy762Enum: enum: - immediate - on_demand - streamed type: string description: '* `immediate` - When syncing, download all metadata and content now. * `on_demand` - When syncing, download metadata, but do not download content now. Instead, download content as clients request it, and save it in Pulp to be served for future client requests. * `streamed` - When syncing, download metadata, but do not download content now. Instead,download content as clients request it, but never save it in Pulp. This causes future requests for that same content to have to be downloaded again.' ObjectRolesResponse: type: object properties: roles: type: array items: $ref: '#/components/schemas/NestedRoleResponse' required: - roles Paginatedfile.FileRemoteResponseList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/file.FileRemoteResponse' SetLabel: type: object description: Serializer for synchronously setting a label. properties: key: type: string minLength: 1 pattern: ^[-a-zA-Z0-9_]+$ value: type: - string - 'null' required: - key - value MyPermissionsResponse: type: object properties: permissions: type: array items: type: string required: - permissions NestedRole: type: object description: 'Serializer to add/remove object roles to/from users/groups. This is used in conjunction with ``pulpcore.app.viewsets.base.RolesMixin`` and requires the underlying object to be passed as ``content_object`` in the context.' properties: users: type: array items: type: string minLength: 1 description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. default: [] groups: type: array items: type: string minLength: 1 default: [] role: type: string minLength: 1 required: - role file.FileRemote: type: object description: Serializer for File Remotes. properties: name: type: string minLength: 1 description: A unique name for this remote. url: type: string minLength: 1 description: The URL of an external content source. ca_cert: type: - string - 'null' minLength: 1 description: A PEM encoded CA certificate used to validate the server certificate presented by the remote server. client_cert: type: - string - 'null' minLength: 1 description: A PEM encoded client certificate used for authentication. client_key: type: - string - 'null' writeOnly: true minLength: 1 description: A PEM encoded private key used for authentication. tls_validation: type: boolean description: If True, TLS peer validation must be performed. proxy_url: type: - string - 'null' minLength: 1 description: 'The proxy URL. Format: scheme://host:port' proxy_username: type: - string - 'null' writeOnly: true minLength: 1 description: The username to authenticte to the proxy. proxy_password: type: - string - 'null' writeOnly: true minLength: 1 description: The password to authenticate to the proxy. Extra leading and trailing whitespace characters are not trimmed. username: type: - string - 'null' writeOnly: true minLength: 1 description: The username to be used for authentication when syncing. password: type: - string - 'null' writeOnly: true minLength: 1 description: The password to be used for authentication when syncing. Extra leading and trailing whitespace characters are not trimmed. pulp_labels: type: object additionalProperties: type: - string - 'null' download_concurrency: type: - integer - 'null' format: int64 description: Total number of simultaneous connections. If not set then the default value will be used. minimum: 1 max_retries: type: - integer - 'null' format: int64 description: Maximum number of retry attempts after a download failure. If not set then the default value (3) will be used. policy: allOf: - $ref: '#/components/schemas/Policy762Enum' default: immediate description: 'The policy to use when downloading content. The possible values include: ''immediate'', ''on_demand'', and ''streamed''. ''immediate'' is the default. * `immediate` - When syncing, download all metadata and content now. * `on_demand` - When syncing, download metadata, but do not download content now. Instead, download content as clients request it, and save it in Pulp to be served for future client requests. * `streamed` - When syncing, download metadata, but do not download content now. Instead,download content as clients request it, but never save it in Pulp. This causes future requests for that same content to have to be downloaded again.' total_timeout: type: - number - 'null' format: double minimum: 0.0 description: aiohttp.ClientTimeout.total (q.v.) for download-connections. The default is null, which will cause the default from the aiohttp library to be used. connect_timeout: type: - number - 'null' format: double minimum: 0.0 description: aiohttp.ClientTimeout.connect (q.v.) for download-connections. The default is null, which will cause the default from the aiohttp library to be used. sock_connect_timeout: type: - number - 'null' format: double minimum: 0.0 description: aiohttp.ClientTimeout.sock_connect (q.v.) for download-connections. The default is null, which will cause the default from the aiohttp library to be used. sock_read_timeout: type: - number - 'null' format: double minimum: 0.0 description: aiohttp.ClientTimeout.sock_read (q.v.) for download-connections. The default is null, which will cause the default from the aiohttp library to be used. headers: type: array items: type: object description: Headers for aiohttp.Clientsession rate_limit: type: - integer - 'null' format: int64 description: Limits requests per second for each concurrent downloader required: - name - url UnsetLabelResponse: type: object description: Serializer for synchronously setting a label. properties: key: type: string pattern: ^[-a-zA-Z0-9_]+$ value: type: string readOnly: true required: - key UnsetLabel: type: object description: Serializer for synchronously setting a label. properties: key: type: string minLength: 1 pattern: ^[-a-zA-Z0-9_]+$ required: - key file.FileRemoteResponse: type: object description: Serializer for File Remotes. properties: pulp_href: type: string format: uri readOnly: true pulp_created: type: string format: date-time readOnly: true description: Timestamp of creation. pulp_last_updated: type: string format: date-time readOnly: true description: Timestamp of the most recent update of the remote. name: type: string description: A unique name for this remote. url: type: string description: The URL of an external content source. ca_cert: type: - string - 'null' description: A PEM encoded CA certificate used to validate the server certificate presented by the remote server. client_cert: type: - string - 'null' description: A PEM encoded client certificate used for authentication. tls_validation: type: boolean description: If True, TLS peer validation must be performed. proxy_url: type: - string - 'null' description: 'The proxy URL. Format: scheme://host:port' pulp_labels: type: object additionalProperties: type: - string - 'null' download_concurrency: type: - integer - 'null' format: int64 description: Total number of simultaneous connections. If not set then the default value will be used. minimum: 1 max_retries: type: - integer - 'null' format: int64 description: Maximum number of retry attempts after a download failure. If not set then the default value (3) will be used. policy: allOf: - $ref: '#/components/schemas/Policy762Enum' default: immediate description: 'The policy to use when downloading content. The possible values include: ''immediate'', ''on_demand'', and ''streamed''. ''immediate'' is the default. * `immediate` - When syncing, download all metadata and content now. * `on_demand` - When syncing, download metadata, but do not download content now. Instead, download content as clients request it, and save it in Pulp to be served for future client requests. * `streamed` - When syncing, download metadata, but do not download content now. Instead,download content as clients request it, but never save it in Pulp. This causes future requests for that same content to have to be downloaded again.' total_timeout: type: - number - 'null' format: double minimum: 0.0 description: aiohttp.ClientTimeout.total (q.v.) for download-connections. The default is null, which will cause the default from the aiohttp library to be used. connect_timeout: type: - number - 'null' format: double minimum: 0.0 description: aiohttp.ClientTimeout.connect (q.v.) for download-connections. The default is null, which will cause the default from the aiohttp library to be used. sock_connect_timeout: type: - number - 'null' format: double minimum: 0.0 description: aiohttp.ClientTimeout.sock_connect (q.v.) for download-connections. The default is null, which will cause the default from the aiohttp library to be used. sock_read_timeout: type: - number - 'null' format: double minimum: 0.0 description: aiohttp.ClientTimeout.sock_read (q.v.) for download-connections. The default is null, which will cause the default from the aiohttp library to be used. headers: type: array items: type: object description: Headers for aiohttp.Clientsession rate_limit: type: - integer - 'null' format: int64 description: Limits requests per second for each concurrent downloader hidden_fields: type: array items: type: object properties: name: type: string is_set: type: boolean required: - is_set - name readOnly: true description: List of hidden (write only) fields required: - name - url NestedRoleResponse: type: object description: 'Serializer to add/remove object roles to/from users/groups. This is used in conjunction with ``pulpcore.app.viewsets.base.RolesMixin`` and requires the underlying object to be passed as ``content_object`` in the context.' properties: users: type: array items: type: string description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. default: [] groups: type: array items: type: string default: [] role: type: string required: - role Patchedfile.FileRemote: type: object description: Serializer for File Remotes. properties: name: type: string minLength: 1 description: A unique name for this remote. url: type: string minLength: 1 description: The URL of an external content source. ca_cert: type: - string - 'null' minLength: 1 description: A PEM encoded CA certificate used to validate the server certificate presented by the remote server. client_cert: type: - string - 'null' minLength: 1 description: A PEM encoded client certificate used for authentication. client_key: type: - string - 'null' writeOnly: true minLength: 1 description: A PEM encoded private key used for authentication. tls_validation: type: boolean description: If True, TLS peer validation must be performed. proxy_url: type: - string - 'null' minLength: 1 description: 'The proxy URL. Format: scheme://host:port' proxy_username: type: - string - 'null' writeOnly: true minLength: 1 description: The username to authenticte to the proxy. proxy_password: type: - string - 'null' writeOnly: true minLength: 1 description: The password to authenticate to the proxy. Extra leading and trailing whitespace characters are not trimmed. username: type: - string - 'null' writeOnly: true minLength: 1 description: The username to be used for authentication when syncing. password: type: - string - 'null' writeOnly: true minLength: 1 description: The password to be used for authentication when syncing. Extra leading and trailing whitespace characters are not trimmed. pulp_labels: type: object additionalProperties: type: - string - 'null' download_concurrency: type: - integer - 'null' format: int64 description: Total number of simultaneous connections. If not set then the default value will be used. minimum: 1 max_retries: type: - integer - 'null' format: int64 description: Maximum number of retry attempts after a download failure. If not set then the default value (3) will be used. policy: allOf: - $ref: '#/components/schemas/Policy762Enum' default: immediate description: 'The policy to use when downloading content. The possible values include: ''immediate'', ''on_demand'', and ''streamed''. ''immediate'' is the default. * `immediate` - When syncing, download all metadata and content now. * `on_demand` - When syncing, download metadata, but do not download content now. Instead, download content as clients request it, and save it in Pulp to be served for future client requests. * `streamed` - When syncing, download metadata, but do not download content now. Instead,download content as clients request it, but never save it in Pulp. This causes future requests for that same content to have to be downloaded again.' total_timeout: type: - number - 'null' format: double minimum: 0.0 description: aiohttp.ClientTimeout.total (q.v.) for download-connections. The default is null, which will cause the default from the aiohttp library to be used. connect_timeout: type: - number - 'null' format: double minimum: 0.0 description: aiohttp.ClientTimeout.connect (q.v.) for download-connections. The default is null, which will cause the default from the aiohttp library to be used. sock_connect_timeout: type: - number - 'null' format: double minimum: 0.0 description: aiohttp.ClientTimeout.sock_connect (q.v.) for download-connections. The default is null, which will cause the default from the aiohttp library to be used. sock_read_timeout: type: - number - 'null' format: double minimum: 0.0 description: aiohttp.ClientTimeout.sock_read (q.v.) for download-connections. The default is null, which will cause the default from the aiohttp library to be used. headers: type: array items: type: object description: Headers for aiohttp.Clientsession rate_limit: type: - integer - 'null' format: int64 description: Limits requests per second for each concurrent downloader SetLabelResponse: type: object description: Serializer for synchronously setting a label. properties: key: type: string pattern: ^[-a-zA-Z0-9_]+$ value: type: - string - 'null' required: - key - value AsyncOperationResponse: type: object description: Serializer for asynchronous operations. properties: task: type: string format: uri description: The href of the task. required: - task