openapi: 3.2.0 info: title: 'Automation Hub Repositories: 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: 'Repositories: File' paths: /api/automation-hub/pulp/api/v3/repositories/file/file/: get: operationId: repositories_file_file_list description: 'FileRepository represents a single file repository, to which content can be synced, added, or removed.' summary: List file repositorys parameters: - in: query name: latest_with_content schema: type: string description: Content Unit referenced by HREF - 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: - -description - -name - -next_version - -pk - -pulp_created - -pulp_id - -pulp_labels - -pulp_last_updated - -pulp_type - -retain_repo_versions - -user_hidden - description - name - next_version - pk - pulp_created - pulp_id - pulp_labels - pulp_last_updated - pulp_type - retain_repo_versions - user_hidden 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) * `description` - Description * `-description` - Description (descending) * `next_version` - Next version * `-next_version` - Next version (descending) * `retain_repo_versions` - Retain repo versions * `-retain_repo_versions` - Retain repo versions (descending) * `user_hidden` - User hidden * `-user_hidden` - User hidden (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: q schema: type: string - in: query name: remote schema: type: string format: uuid description: Foreign Key referenced by HREF - in: query name: retain_repo_versions schema: type: integer description: Filter results where retain_repo_versions matches value - in: query name: retain_repo_versions__gt schema: type: integer description: Filter results where retain_repo_versions is greater than value - in: query name: retain_repo_versions__gte schema: type: integer description: Filter results where retain_repo_versions is greater than or equal to value - in: query name: retain_repo_versions__isnull schema: type: boolean description: Filter results where retain_repo_versions has a null value - in: query name: retain_repo_versions__lt schema: type: integer description: Filter results where retain_repo_versions is less than value - in: query name: retain_repo_versions__lte schema: type: integer description: Filter results where retain_repo_versions is less than or equal to value - in: query name: retain_repo_versions__ne schema: type: integer description: Filter results where retain_repo_versions not equal to value - in: query name: retain_repo_versions__range schema: type: array items: type: integer description: Filter results where retain_repo_versions is between two comma separated values explode: false style: form - in: query name: with_content schema: type: string description: Content Unit referenced by HREF - 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: - 'Repositories: File' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Paginatedfile.FileRepositoryResponseList' description: '' post: operationId: repositories_file_file_create description: 'FileRepository represents a single file repository, to which content can be synced, added, or removed.' summary: Create a file repository tags: - 'Repositories: File' requestBody: content: application/json: schema: $ref: '#/components/schemas/file.FileRepository' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/file.FileRepository' multipart/form-data: schema: $ref: '#/components/schemas/file.FileRepository' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/file.FileRepositoryResponse' description: '' /api/automation-hub/pulp/api/v3/repositories/file/file/{pulp_id}/: get: operationId: repositories_file_file_read description: 'FileRepository represents a single file repository, to which content can be synced, added, or removed.' summary: Inspect a file repository parameters: - in: path name: pulp_id schema: type: string format: uuid description: A UUID string identifying this file repository. 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: - 'Repositories: File' responses: '200': content: application/json: schema: $ref: '#/components/schemas/file.FileRepositoryResponse' description: '' put: operationId: repositories_file_file_update description: Trigger an asynchronous update task summary: Update a file repository parameters: - in: path name: pulp_id schema: type: string format: uuid description: A UUID string identifying this file repository. required: true tags: - 'Repositories: File' requestBody: content: application/json: schema: $ref: '#/components/schemas/file.FileRepository' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/file.FileRepository' multipart/form-data: schema: $ref: '#/components/schemas/file.FileRepository' required: true responses: '202': content: application/json: schema: $ref: '#/components/schemas/AsyncOperationResponse' description: '' patch: operationId: repositories_file_file_partial_update description: Trigger an asynchronous partial update task summary: Update a file repository parameters: - in: path name: pulp_id schema: type: string format: uuid description: A UUID string identifying this file repository. required: true tags: - 'Repositories: File' requestBody: content: application/json: schema: $ref: '#/components/schemas/Patchedfile.FileRepository' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Patchedfile.FileRepository' multipart/form-data: schema: $ref: '#/components/schemas/Patchedfile.FileRepository' required: true responses: '202': content: application/json: schema: $ref: '#/components/schemas/AsyncOperationResponse' description: '' delete: operationId: repositories_file_file_delete description: Trigger an asynchronous delete task summary: Delete a file repository parameters: - in: path name: pulp_id schema: type: string format: uuid description: A UUID string identifying this file repository. required: true tags: - 'Repositories: File' responses: '202': content: application/json: schema: $ref: '#/components/schemas/AsyncOperationResponse' description: '' /api/automation-hub/pulp/api/v3/repositories/file/file/{pulp_id}/add_role/: post: operationId: repositories_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 repository. required: true tags: - 'Repositories: 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/repositories/file/file/{pulp_id}/list_roles/: get: operationId: repositories_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 repository. 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: - 'Repositories: File' responses: '200': content: application/json: schema: $ref: '#/components/schemas/ObjectRolesResponse' description: '' /api/automation-hub/pulp/api/v3/repositories/file/file/{pulp_id}/modify/: post: operationId: repositories_file_file_modify description: Trigger an asynchronous task to create a new repository version. summary: Modify Repository Content parameters: - in: path name: pulp_id schema: type: string format: uuid description: A UUID string identifying this file repository. required: true tags: - 'Repositories: File' requestBody: content: application/json: schema: $ref: '#/components/schemas/RepositoryAddRemoveContent' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/RepositoryAddRemoveContent' multipart/form-data: schema: $ref: '#/components/schemas/RepositoryAddRemoveContent' required: true responses: '202': content: application/json: schema: $ref: '#/components/schemas/AsyncOperationResponse' description: '' /api/automation-hub/pulp/api/v3/repositories/file/file/{pulp_id}/my_permissions/: get: operationId: repositories_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 repository. 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: - 'Repositories: File' responses: '200': content: application/json: schema: $ref: '#/components/schemas/MyPermissionsResponse' description: '' /api/automation-hub/pulp/api/v3/repositories/file/file/{pulp_id}/remove_role/: post: operationId: repositories_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 repository. required: true tags: - 'Repositories: 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/repositories/file/file/{pulp_id}/set_label/: post: operationId: repositories_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 repository. required: true tags: - 'Repositories: 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/repositories/file/file/{pulp_id}/sync/: post: operationId: repositories_file_file_sync description: Trigger an asynchronous task to sync file content. summary: Sync from a remote parameters: - in: path name: pulp_id schema: type: string format: uuid description: A UUID string identifying this file repository. required: true tags: - 'Repositories: File' requestBody: content: application/json: schema: $ref: '#/components/schemas/RepositorySyncURL' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/RepositorySyncURL' multipart/form-data: schema: $ref: '#/components/schemas/RepositorySyncURL' required: true responses: '202': content: application/json: schema: $ref: '#/components/schemas/AsyncOperationResponse' description: '' /api/automation-hub/pulp/api/v3/repositories/file/file/{pulp_id}/unset_label/: post: operationId: repositories_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 repository. required: true tags: - 'Repositories: 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: ObjectRolesResponse: type: object properties: roles: type: array items: $ref: '#/components/schemas/NestedRoleResponse' required: - roles RepositorySyncURL: type: object description: A mixin for validating unknown serializers' fields. properties: remote: type: string format: uri description: A remote to sync from. This will override a remote set on repository. mirror: type: boolean default: false description: If ``True``, synchronization will remove all content that is not present in the remote repository. If ``False``, sync will be additive only. 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.FileRepository: type: object description: Serializer for File Repositories. properties: pulp_labels: type: object additionalProperties: type: - string - 'null' name: type: string minLength: 1 description: A unique name for this repository. description: type: - string - 'null' minLength: 1 description: An optional description. retain_repo_versions: type: - integer - 'null' format: int64 description: Retain X versions of the repository. Default is null which retains all versions. minimum: 1 remote: type: - string - 'null' format: uri description: An optional remote to use by default when syncing. autopublish: type: boolean default: false description: Whether to automatically create publications for new repository versions, and update any distributions pointing to this repository. manifest: type: - string - 'null' minLength: 1 default: PULP_MANIFEST description: Filename to use for manifest file containing metadata for all the files. required: - name file.FileRepositoryResponse: type: object description: Serializer for File Repositories. 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 last time this resource was updated. Note: for immutable resources - like content, repository versions, and publication - pulp_created and pulp_last_updated dates will be the same.' versions_href: type: string format: uri readOnly: true pulp_labels: type: object additionalProperties: type: - string - 'null' latest_version_href: type: string format: uri readOnly: true name: type: string description: A unique name for this repository. description: type: - string - 'null' description: An optional description. retain_repo_versions: type: - integer - 'null' format: int64 description: Retain X versions of the repository. Default is null which retains all versions. minimum: 1 remote: type: - string - 'null' format: uri description: An optional remote to use by default when syncing. autopublish: type: boolean default: false description: Whether to automatically create publications for new repository versions, and update any distributions pointing to this repository. manifest: type: - string - 'null' default: PULP_MANIFEST description: Filename to use for manifest file containing metadata for all the files. required: - name UnsetLabel: type: object description: Serializer for synchronously setting a label. properties: key: type: string minLength: 1 pattern: ^[-a-zA-Z0-9_]+$ required: - key 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 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 Patchedfile.FileRepository: type: object description: Serializer for File Repositories. properties: pulp_labels: type: object additionalProperties: type: - string - 'null' name: type: string minLength: 1 description: A unique name for this repository. description: type: - string - 'null' minLength: 1 description: An optional description. retain_repo_versions: type: - integer - 'null' format: int64 description: Retain X versions of the repository. Default is null which retains all versions. minimum: 1 remote: type: - string - 'null' format: uri description: An optional remote to use by default when syncing. autopublish: type: boolean default: false description: Whether to automatically create publications for new repository versions, and update any distributions pointing to this repository. manifest: type: - string - 'null' minLength: 1 default: PULP_MANIFEST description: Filename to use for manifest file containing metadata for all the files. 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 Paginatedfile.FileRepositoryResponseList: 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.FileRepositoryResponse' RepositoryAddRemoveContent: type: object description: 'Base serializer for use with :class:`pulpcore.app.models.Model` This ensures that all Serializers provide values for the ''pulp_href` field. The class provides a default for the ``ref_name`` attribute in the ModelSerializers''s ``Meta`` class. This ensures that the OpenAPI definitions of plugins are namespaced properly.' properties: add_content_units: type: array items: type: string minLength: 1 description: A list of content units to add to a new repository version. This content is added after remove_content_units are removed. remove_content_units: type: array items: type: string minLength: 1 description: A list of content units to remove from the latest repository version. You may also specify '*' as an entry to remove all content. This content is removed before add_content_units are added. base_version: type: string format: uri description: A repository version whose content will be used as the initial set of content for the new repository version