=begin #Pulp 3 API #Fetch, Upload, Organize, and Distribute Software Packages The version of the OpenAPI document: v3 Contact: pulp-list@redhat.com Generated by: https://openapi-generator.tech OpenAPI Generator version: 4.3.1 =end require 'cgi' module PulpcoreClient class DomainsApi attr_accessor :api_client def initialize(api_client = ApiClient.default) @api_client = api_client end # Create a domain # ViewSet for Domain. NOTE: This API endpoint is in \"tech preview\" and subject to change # @param domain [Domain] # @param [Hash] opts the optional parameters # @return [DomainResponse] def create(domain, opts = {}) data, _status_code, _headers = create_with_http_info(domain, opts) data end # Create a domain # ViewSet for Domain. NOTE: This API endpoint is in \"tech preview\" and subject to change # @param domain [Domain] # @param [Hash] opts the optional parameters # @return [Array<(DomainResponse, Integer, Hash)>] DomainResponse data, response status code and response headers def create_with_http_info(domain, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: DomainsApi.create ...' end # verify the required parameter 'domain' is set if @api_client.config.client_side_validation && domain.nil? fail ArgumentError, "Missing the required parameter 'domain' when calling DomainsApi.create" end # resource path local_var_path = '/pulp/api/v3/domains/' # query parameters query_params = opts[:query_params] || {} # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # HTTP header 'Content-Type' header_params['Content-Type'] = @api_client.select_header_content_type(['application/json', 'application/x-www-form-urlencoded', 'multipart/form-data']) # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:body] || @api_client.object_to_http_body(domain) # return_type return_type = opts[:return_type] || 'DomainResponse' # auth_names auth_names = opts[:auth_names] || ['basicAuth'] new_options = opts.merge( :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type ) data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) if @api_client.config.debugging @api_client.config.logger.debug "API called: DomainsApi#create\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Delete a domain # Trigger an asynchronous delete task # @param domain_href [String] # @param [Hash] opts the optional parameters # @return [AsyncOperationResponse] def delete(domain_href, opts = {}) data, _status_code, _headers = delete_with_http_info(domain_href, opts) data end # Delete a domain # Trigger an asynchronous delete task # @param domain_href [String] # @param [Hash] opts the optional parameters # @return [Array<(AsyncOperationResponse, Integer, Hash)>] AsyncOperationResponse data, response status code and response headers def delete_with_http_info(domain_href, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: DomainsApi.delete ...' end # verify the required parameter 'domain_href' is set if @api_client.config.client_side_validation && domain_href.nil? fail ArgumentError, "Missing the required parameter 'domain_href' when calling DomainsApi.delete" end # resource path local_var_path = '{domain_href}'.sub('{' + 'domain_href' + '}', CGI.escape(domain_href.to_s).gsub('%2F', '/')) # query parameters query_params = opts[:query_params] || {} # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:body] # return_type return_type = opts[:return_type] || 'AsyncOperationResponse' # auth_names auth_names = opts[:auth_names] || ['basicAuth'] new_options = opts.merge( :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type ) data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options) if @api_client.config.debugging @api_client.config.logger.debug "API called: DomainsApi#delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # List domains # ViewSet for Domain. NOTE: This API endpoint is in \"tech preview\" and subject to change # @param [Hash] opts the optional parameters # @option opts [Integer] :limit Number of results to return per page. # @option opts [String] :name Filter results where name matches value # @option opts [String] :name__contains Filter results where name contains value # @option opts [String] :name__icontains Filter results where name contains value # @option opts [String] :name__iexact Filter results where name matches value # @option opts [Array] :name__in Filter results where name is in a comma-separated list of values # @option opts [String] :name__iregex Filter results where name matches regex value # @option opts [String] :name__istartswith Filter results where name starts with value # @option opts [String] :name__regex Filter results where name matches regex value # @option opts [String] :name__startswith Filter results where name starts with value # @option opts [Integer] :offset The initial index from which to return the results. # @option opts [Array] :ordering 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) * `name` - Name * `-name` - Name (descending) * `description` - Description * `-description` - Description (descending) * `storage_class` - Storage class * `-storage_class` - Storage class (descending) * `storage_settings` - Storage settings * `-storage_settings` - Storage settings (descending) * `redirect_to_object_storage` - Redirect to object storage * `-redirect_to_object_storage` - Redirect to object storage (descending) * `hide_guarded_distributions` - Hide guarded distributions * `-hide_guarded_distributions` - Hide guarded distributions (descending) * `pk` - Pk * `-pk` - Pk (descending) # @option opts [Array] :prn__in Multiple values may be separated by commas. # @option opts [Array] :pulp_href__in Multiple values may be separated by commas. # @option opts [Array] :pulp_id__in Multiple values may be separated by commas. # @option opts [String] :q Filter results by using NOT, AND and OR operations on other filters # @option opts [Array] :fields A list of fields to include in the response. # @option opts [Array] :exclude_fields A list of fields to exclude from the response. # @return [PaginatedDomainResponseList] def list(opts = {}) data, _status_code, _headers = list_with_http_info(opts) data end # List domains # ViewSet for Domain. NOTE: This API endpoint is in \"tech preview\" and subject to change # @param [Hash] opts the optional parameters # @option opts [Integer] :limit Number of results to return per page. # @option opts [String] :name Filter results where name matches value # @option opts [String] :name__contains Filter results where name contains value # @option opts [String] :name__icontains Filter results where name contains value # @option opts [String] :name__iexact Filter results where name matches value # @option opts [Array] :name__in Filter results where name is in a comma-separated list of values # @option opts [String] :name__iregex Filter results where name matches regex value # @option opts [String] :name__istartswith Filter results where name starts with value # @option opts [String] :name__regex Filter results where name matches regex value # @option opts [String] :name__startswith Filter results where name starts with value # @option opts [Integer] :offset The initial index from which to return the results. # @option opts [Array] :ordering 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) * `name` - Name * `-name` - Name (descending) * `description` - Description * `-description` - Description (descending) * `storage_class` - Storage class * `-storage_class` - Storage class (descending) * `storage_settings` - Storage settings * `-storage_settings` - Storage settings (descending) * `redirect_to_object_storage` - Redirect to object storage * `-redirect_to_object_storage` - Redirect to object storage (descending) * `hide_guarded_distributions` - Hide guarded distributions * `-hide_guarded_distributions` - Hide guarded distributions (descending) * `pk` - Pk * `-pk` - Pk (descending) # @option opts [Array] :prn__in Multiple values may be separated by commas. # @option opts [Array] :pulp_href__in Multiple values may be separated by commas. # @option opts [Array] :pulp_id__in Multiple values may be separated by commas. # @option opts [String] :q Filter results by using NOT, AND and OR operations on other filters # @option opts [Array] :fields A list of fields to include in the response. # @option opts [Array] :exclude_fields A list of fields to exclude from the response. # @return [Array<(PaginatedDomainResponseList, Integer, Hash)>] PaginatedDomainResponseList data, response status code and response headers def list_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: DomainsApi.list ...' end allowable_values = ["-description", "-hide_guarded_distributions", "-name", "-pk", "-pulp_created", "-pulp_id", "-pulp_last_updated", "-redirect_to_object_storage", "-storage_class", "-storage_settings", "description", "hide_guarded_distributions", "name", "pk", "pulp_created", "pulp_id", "pulp_last_updated", "redirect_to_object_storage", "storage_class", "storage_settings"] if @api_client.config.client_side_validation && opts[:'ordering'] && !opts[:'ordering'].all? { |item| allowable_values.include?(item) } fail ArgumentError, "invalid value for \"ordering\", must include one of #{allowable_values}" end # resource path local_var_path = '/pulp/api/v3/domains/' # query parameters query_params = opts[:query_params] || {} query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil? query_params[:'name'] = opts[:'name'] if !opts[:'name'].nil? query_params[:'name__contains'] = opts[:'name__contains'] if !opts[:'name__contains'].nil? query_params[:'name__icontains'] = opts[:'name__icontains'] if !opts[:'name__icontains'].nil? query_params[:'name__iexact'] = opts[:'name__iexact'] if !opts[:'name__iexact'].nil? query_params[:'name__in'] = @api_client.build_collection_param(opts[:'name__in'], :csv) if !opts[:'name__in'].nil? query_params[:'name__iregex'] = opts[:'name__iregex'] if !opts[:'name__iregex'].nil? query_params[:'name__istartswith'] = opts[:'name__istartswith'] if !opts[:'name__istartswith'].nil? query_params[:'name__regex'] = opts[:'name__regex'] if !opts[:'name__regex'].nil? query_params[:'name__startswith'] = opts[:'name__startswith'] if !opts[:'name__startswith'].nil? query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil? query_params[:'ordering'] = @api_client.build_collection_param(opts[:'ordering'], :csv) if !opts[:'ordering'].nil? query_params[:'prn__in'] = @api_client.build_collection_param(opts[:'prn__in'], :csv) if !opts[:'prn__in'].nil? query_params[:'pulp_href__in'] = @api_client.build_collection_param(opts[:'pulp_href__in'], :csv) if !opts[:'pulp_href__in'].nil? query_params[:'pulp_id__in'] = @api_client.build_collection_param(opts[:'pulp_id__in'], :csv) if !opts[:'pulp_id__in'].nil? query_params[:'q'] = opts[:'q'] if !opts[:'q'].nil? query_params[:'fields'] = @api_client.build_collection_param(opts[:'fields'], :multi) if !opts[:'fields'].nil? query_params[:'exclude_fields'] = @api_client.build_collection_param(opts[:'exclude_fields'], :multi) if !opts[:'exclude_fields'].nil? # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:body] # return_type return_type = opts[:return_type] || 'PaginatedDomainResponseList' # auth_names auth_names = opts[:auth_names] || ['basicAuth'] new_options = opts.merge( :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type ) data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) if @api_client.config.debugging @api_client.config.logger.debug "API called: DomainsApi#list\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Migrate storage backend # Migrate the domain's storage backend to a new one. Launches a background task to copy the domain's artifacts over to the supplied storage backend. Then updates the domain's storage settings to the new storage backend. This task does not delete the stored files of the artifacts from the previous backend. **IMPORTANT** This task will block all other tasks within the domain until the migration is completed, essentially putting the domain into a read only state. Content will still be served from the old storage backend until the migration has completed, so don't remove the old backend until then. Note, this endpoint is not allowed on the default domain. This feature is in Tech Preview and is subject to future change and thus not guaranteed to be backwards compatible. # @param domain_backend_migrator [DomainBackendMigrator] # @param [Hash] opts the optional parameters # @return [AsyncOperationResponse] def migrate(domain_backend_migrator, opts = {}) data, _status_code, _headers = migrate_with_http_info(domain_backend_migrator, opts) data end # Migrate storage backend # Migrate the domain's storage backend to a new one. Launches a background task to copy the domain's artifacts over to the supplied storage backend. Then updates the domain's storage settings to the new storage backend. This task does not delete the stored files of the artifacts from the previous backend. **IMPORTANT** This task will block all other tasks within the domain until the migration is completed, essentially putting the domain into a read only state. Content will still be served from the old storage backend until the migration has completed, so don't remove the old backend until then. Note, this endpoint is not allowed on the default domain. This feature is in Tech Preview and is subject to future change and thus not guaranteed to be backwards compatible. # @param domain_backend_migrator [DomainBackendMigrator] # @param [Hash] opts the optional parameters # @return [Array<(AsyncOperationResponse, Integer, Hash)>] AsyncOperationResponse data, response status code and response headers def migrate_with_http_info(domain_backend_migrator, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: DomainsApi.migrate ...' end # verify the required parameter 'domain_backend_migrator' is set if @api_client.config.client_side_validation && domain_backend_migrator.nil? fail ArgumentError, "Missing the required parameter 'domain_backend_migrator' when calling DomainsApi.migrate" end # resource path local_var_path = '/pulp/api/v3/domains/migrate/' # query parameters query_params = opts[:query_params] || {} # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # HTTP header 'Content-Type' header_params['Content-Type'] = @api_client.select_header_content_type(['application/json', 'application/x-www-form-urlencoded', 'multipart/form-data']) # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:body] || @api_client.object_to_http_body(domain_backend_migrator) # return_type return_type = opts[:return_type] || 'AsyncOperationResponse' # auth_names auth_names = opts[:auth_names] || ['basicAuth'] new_options = opts.merge( :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type ) data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) if @api_client.config.debugging @api_client.config.logger.debug "API called: DomainsApi#migrate\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Update a domain # Trigger an asynchronous partial update task # @param domain_href [String] # @param patched_domain [PatchedDomain] # @param [Hash] opts the optional parameters # @return [AsyncOperationResponse] def partial_update(domain_href, patched_domain, opts = {}) data, _status_code, _headers = partial_update_with_http_info(domain_href, patched_domain, opts) data end # Update a domain # Trigger an asynchronous partial update task # @param domain_href [String] # @param patched_domain [PatchedDomain] # @param [Hash] opts the optional parameters # @return [Array<(AsyncOperationResponse, Integer, Hash)>] AsyncOperationResponse data, response status code and response headers def partial_update_with_http_info(domain_href, patched_domain, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: DomainsApi.partial_update ...' end # verify the required parameter 'domain_href' is set if @api_client.config.client_side_validation && domain_href.nil? fail ArgumentError, "Missing the required parameter 'domain_href' when calling DomainsApi.partial_update" end # verify the required parameter 'patched_domain' is set if @api_client.config.client_side_validation && patched_domain.nil? fail ArgumentError, "Missing the required parameter 'patched_domain' when calling DomainsApi.partial_update" end # resource path local_var_path = '{domain_href}'.sub('{' + 'domain_href' + '}', CGI.escape(domain_href.to_s).gsub('%2F', '/')) # query parameters query_params = opts[:query_params] || {} # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # HTTP header 'Content-Type' header_params['Content-Type'] = @api_client.select_header_content_type(['application/json', 'application/x-www-form-urlencoded', 'multipart/form-data']) # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:body] || @api_client.object_to_http_body(patched_domain) # return_type return_type = opts[:return_type] || 'AsyncOperationResponse' # auth_names auth_names = opts[:auth_names] || ['basicAuth'] new_options = opts.merge( :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type ) data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options) if @api_client.config.debugging @api_client.config.logger.debug "API called: DomainsApi#partial_update\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Inspect a domain # ViewSet for Domain. NOTE: This API endpoint is in \"tech preview\" and subject to change # @param domain_href [String] # @param [Hash] opts the optional parameters # @option opts [Array] :fields A list of fields to include in the response. # @option opts [Array] :exclude_fields A list of fields to exclude from the response. # @return [DomainResponse] def read(domain_href, opts = {}) data, _status_code, _headers = read_with_http_info(domain_href, opts) data end # Inspect a domain # ViewSet for Domain. NOTE: This API endpoint is in \"tech preview\" and subject to change # @param domain_href [String] # @param [Hash] opts the optional parameters # @option opts [Array] :fields A list of fields to include in the response. # @option opts [Array] :exclude_fields A list of fields to exclude from the response. # @return [Array<(DomainResponse, Integer, Hash)>] DomainResponse data, response status code and response headers def read_with_http_info(domain_href, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: DomainsApi.read ...' end # verify the required parameter 'domain_href' is set if @api_client.config.client_side_validation && domain_href.nil? fail ArgumentError, "Missing the required parameter 'domain_href' when calling DomainsApi.read" end # resource path local_var_path = '{domain_href}'.sub('{' + 'domain_href' + '}', CGI.escape(domain_href.to_s).gsub('%2F', '/')) # query parameters query_params = opts[:query_params] || {} query_params[:'fields'] = @api_client.build_collection_param(opts[:'fields'], :multi) if !opts[:'fields'].nil? query_params[:'exclude_fields'] = @api_client.build_collection_param(opts[:'exclude_fields'], :multi) if !opts[:'exclude_fields'].nil? # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:body] # return_type return_type = opts[:return_type] || 'DomainResponse' # auth_names auth_names = opts[:auth_names] || ['basicAuth'] new_options = opts.merge( :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type ) data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) if @api_client.config.debugging @api_client.config.logger.debug "API called: DomainsApi#read\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Update a domain # Trigger an asynchronous update task # @param domain_href [String] # @param domain [Domain] # @param [Hash] opts the optional parameters # @return [AsyncOperationResponse] def update(domain_href, domain, opts = {}) data, _status_code, _headers = update_with_http_info(domain_href, domain, opts) data end # Update a domain # Trigger an asynchronous update task # @param domain_href [String] # @param domain [Domain] # @param [Hash] opts the optional parameters # @return [Array<(AsyncOperationResponse, Integer, Hash)>] AsyncOperationResponse data, response status code and response headers def update_with_http_info(domain_href, domain, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: DomainsApi.update ...' end # verify the required parameter 'domain_href' is set if @api_client.config.client_side_validation && domain_href.nil? fail ArgumentError, "Missing the required parameter 'domain_href' when calling DomainsApi.update" end # verify the required parameter 'domain' is set if @api_client.config.client_side_validation && domain.nil? fail ArgumentError, "Missing the required parameter 'domain' when calling DomainsApi.update" end # resource path local_var_path = '{domain_href}'.sub('{' + 'domain_href' + '}', CGI.escape(domain_href.to_s).gsub('%2F', '/')) # query parameters query_params = opts[:query_params] || {} # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # HTTP header 'Content-Type' header_params['Content-Type'] = @api_client.select_header_content_type(['application/json', 'application/x-www-form-urlencoded', 'multipart/form-data']) # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:body] || @api_client.object_to_http_body(domain) # return_type return_type = opts[:return_type] || 'AsyncOperationResponse' # auth_names auth_names = opts[:auth_names] || ['basicAuth'] new_options = opts.merge( :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type ) data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options) if @api_client.config.debugging @api_client.config.logger.debug "API called: DomainsApi#update\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end end end