forked from loafle/openapi-generator-original
		
	* Update Dockerfile.mustache Using alpine instead of ubuntu for leaner Docker images. Small fix for welcome message. Changing default shell to `zsh` and fixing entrypoint. * update samples * move config, add new files Co-authored-by: avbenavides <62693723+avbenavides@users.noreply.github.com>
		
			
				
	
	
		
			327 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			327 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| # petstore-cli completion                               -*- shell-script -*-
 | |
| 
 | |
| # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 | |
| # !
 | |
| # ! Note:
 | |
| # !
 | |
| # ! THIS SCRIPT HAS BEEN AUTOMATICALLY GENERATED USING
 | |
| # ! openapi-generator (https://openapi-generator.tech)
 | |
| # ! FROM OPENAPI SPECIFICATION IN JSON.
 | |
| # !
 | |
| # !
 | |
| # !
 | |
| # ! System wide installation:
 | |
| # !
 | |
| # ! $ sudo cp petstore-cli.bash-completion /etc/bash-completion.d/petstore-cli
 | |
| # !
 | |
| # !
 | |
| # ! User home installation (add this line to .bash_profile):
 | |
| # !
 | |
| # ! [ -r ~/petstore-cli.bash-completion ] && source ~/petstore-cli.bash-completion
 | |
| # !
 | |
| # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 | |
| 
 | |
| declare -A mime_type_abbreviations
 | |
| # text/*
 | |
| mime_type_abbreviations["text"]="text/plain"
 | |
| mime_type_abbreviations["html"]="text/html"
 | |
| mime_type_abbreviations["md"]="text/x-markdown"
 | |
| mime_type_abbreviations["csv"]="text/csv"
 | |
| mime_type_abbreviations["css"]="text/css"
 | |
| mime_type_abbreviations["rtf"]="text/rtf"
 | |
| # application/*
 | |
| mime_type_abbreviations["json"]="application/json"
 | |
| mime_type_abbreviations["xml"]="application/xml"
 | |
| mime_type_abbreviations["yaml"]="application/yaml"
 | |
| mime_type_abbreviations["js"]="application/javascript"
 | |
| mime_type_abbreviations["bin"]="application/octet-stream"
 | |
| mime_type_abbreviations["rdf"]="application/rdf+xml"
 | |
| # image/*
 | |
| mime_type_abbreviations["jpg"]="image/jpeg"
 | |
| mime_type_abbreviations["png"]="image/png"
 | |
| mime_type_abbreviations["gif"]="image/gif"
 | |
| mime_type_abbreviations["bmp"]="image/bmp"
 | |
| mime_type_abbreviations["tiff"]="image/tiff"
 | |
| 
 | |
| 
 | |
| #
 | |
| # Check if this is OSX, if so defined custom init_completion
 | |
| #
 | |
| if [[ `uname` =~ "Darwin" ]]; then
 | |
|     __osx_init_completion()
 | |
|     {
 | |
|         COMPREPLY=()
 | |
|         _get_comp_words_by_ref cur prev words cword
 | |
|     }
 | |
| fi
 | |
| 
 | |
| _petstore-cli()
 | |
| {
 | |
|     local cur
 | |
|     local prev
 | |
|     local words
 | |
|     local cword
 | |
| 
 | |
|     # The reference of currently selected REST operation
 | |
|     local operation=""
 | |
| 
 | |
|     # The list of available operation in the REST service
 | |
|     # It's modelled as an associative array for efficient key lookup
 | |
|     declare -A operations
 | |
|     operations["call123TestSpecialTags"]=1
 | |
|     operations["createXmlItem"]=1
 | |
|     operations["fakeOuterBooleanSerialize"]=1
 | |
|     operations["fakeOuterCompositeSerialize"]=1
 | |
|     operations["fakeOuterNumberSerialize"]=1
 | |
|     operations["fakeOuterStringSerialize"]=1
 | |
|     operations["testBodyWithFileSchema"]=1
 | |
|     operations["testBodyWithQueryParams"]=1
 | |
|     operations["testClientModel"]=1
 | |
|     operations["testEndpointParameters"]=1
 | |
|     operations["testEnumParameters"]=1
 | |
|     operations["testGroupParameters"]=1
 | |
|     operations["testInlineAdditionalProperties"]=1
 | |
|     operations["testJsonFormData"]=1
 | |
|     operations["testQueryParameterCollectionFormat"]=1
 | |
|     operations["testClassname"]=1
 | |
|     operations["addPet"]=1
 | |
|     operations["deletePet"]=1
 | |
|     operations["findPetsByStatus"]=1
 | |
|     operations["findPetsByTags"]=1
 | |
|     operations["getPetById"]=1
 | |
|     operations["updatePet"]=1
 | |
|     operations["updatePetWithForm"]=1
 | |
|     operations["uploadFile"]=1
 | |
|     operations["uploadFileWithRequiredFile"]=1
 | |
|     operations["deleteOrder"]=1
 | |
|     operations["getInventory"]=1
 | |
|     operations["getOrderById"]=1
 | |
|     operations["placeOrder"]=1
 | |
|     operations["createUser"]=1
 | |
|     operations["createUsersWithArrayInput"]=1
 | |
|     operations["createUsersWithListInput"]=1
 | |
|     operations["deleteUser"]=1
 | |
|     operations["getUserByName"]=1
 | |
|     operations["loginUser"]=1
 | |
|     operations["logoutUser"]=1
 | |
|     operations["updateUser"]=1
 | |
| 
 | |
|     # An associative array of operations to their parameters
 | |
|     # Only include path, query and header parameters
 | |
|     declare -A operation_parameters
 | |
|     operation_parameters["call123TestSpecialTags"]=""
 | |
|     operation_parameters["createXmlItem"]=""
 | |
|     operation_parameters["fakeOuterBooleanSerialize"]=""
 | |
|     operation_parameters["fakeOuterCompositeSerialize"]=""
 | |
|     operation_parameters["fakeOuterNumberSerialize"]=""
 | |
|     operation_parameters["fakeOuterStringSerialize"]=""
 | |
|     operation_parameters["testBodyWithFileSchema"]=""
 | |
|     operation_parameters["testBodyWithQueryParams"]="query= "
 | |
|     operation_parameters["testClientModel"]=""
 | |
|     operation_parameters["testEndpointParameters"]=""
 | |
|     operation_parameters["testEnumParameters"]="enum_query_string_array= enum_query_string= enum_query_integer= enum_query_double= enum_header_string_array: enum_header_string: "
 | |
|     operation_parameters["testGroupParameters"]="required_string_group= required_int64_group= string_group= int64_group= required_boolean_group: boolean_group: "
 | |
|     operation_parameters["testInlineAdditionalProperties"]=""
 | |
|     operation_parameters["testJsonFormData"]=""
 | |
|     operation_parameters["testQueryParameterCollectionFormat"]="pipe= ioutil= http= url= context= "
 | |
|     operation_parameters["testClassname"]=""
 | |
|     operation_parameters["addPet"]=""
 | |
|     operation_parameters["deletePet"]="petId= api_key: "
 | |
|     operation_parameters["findPetsByStatus"]="status= "
 | |
|     operation_parameters["findPetsByTags"]="tags= "
 | |
|     operation_parameters["getPetById"]="petId= "
 | |
|     operation_parameters["updatePet"]=""
 | |
|     operation_parameters["updatePetWithForm"]="petId= "
 | |
|     operation_parameters["uploadFile"]="petId= "
 | |
|     operation_parameters["uploadFileWithRequiredFile"]="petId= "
 | |
|     operation_parameters["deleteOrder"]="order_id= "
 | |
|     operation_parameters["getInventory"]=""
 | |
|     operation_parameters["getOrderById"]="order_id= "
 | |
|     operation_parameters["placeOrder"]=""
 | |
|     operation_parameters["createUser"]=""
 | |
|     operation_parameters["createUsersWithArrayInput"]=""
 | |
|     operation_parameters["createUsersWithListInput"]=""
 | |
|     operation_parameters["deleteUser"]="username= "
 | |
|     operation_parameters["getUserByName"]="username= "
 | |
|     operation_parameters["loginUser"]="username= password= "
 | |
|     operation_parameters["logoutUser"]=""
 | |
|     operation_parameters["updateUser"]="username= "
 | |
| 
 | |
|     # An associative array of possible values for enum parameters
 | |
|     declare -A operation_parameters_enum_values
 | |
|     operation_parameters_enum_values["testGroupParameters::required_boolean_group"]="true false"
 | |
|     operation_parameters_enum_values["testGroupParameters::boolean_group"]="true false"
 | |
|     operation_parameters_enum_values["testGroupParameters::required_boolean_group"]="true false"
 | |
|     operation_parameters_enum_values["testGroupParameters::boolean_group"]="true false"
 | |
|     operation_parameters_enum_values["testGroupParameters::required_boolean_group"]="true false"
 | |
|     operation_parameters_enum_values["testGroupParameters::boolean_group"]="true false"
 | |
|     operation_parameters_enum_values["testGroupParameters::required_boolean_group"]="true false"
 | |
|     operation_parameters_enum_values["testGroupParameters::boolean_group"]="true false"
 | |
|     operation_parameters_enum_values["testGroupParameters::required_boolean_group"]="true false"
 | |
|     operation_parameters_enum_values["testGroupParameters::boolean_group"]="true false"
 | |
|     operation_parameters_enum_values["testGroupParameters::required_boolean_group"]="true false"
 | |
|     operation_parameters_enum_values["testGroupParameters::boolean_group"]="true false"
 | |
| 
 | |
|     #
 | |
|     # Check if this is OSX and use special __osx_init_completion function
 | |
|     #
 | |
|     if [[ `uname` =~ "Darwin" ]]; then
 | |
|         __osx_init_completion || return
 | |
|     else
 | |
|         _init_completion -s || return
 | |
|     fi
 | |
| 
 | |
| 
 | |
|     # Check if operation is already in the command line provided
 | |
|     for word in "${words[@]}"; do
 | |
|         if [[ -n $word && ${operations[$word]} ]]; then
 | |
|             operation="${word}"
 | |
|         fi
 | |
|     done
 | |
| 
 | |
|     if [[ -z $operation ]]; then
 | |
|         case $prev in
 | |
|             --ciphers|--connect-timeout|-C|--continue-at|-F|--form|--form-string|\
 | |
|             --ftp-account|--ftp-alternative-to-user|-P|--ftp-port|-H|--header|-h|\
 | |
|             --help|--hostpubmd5|--keepalive-time|--krb|--limit-rate|--local-port|\
 | |
|             --mail-from|--mail-rcpt|--max-filesize|--max-redirs|-m|--max-time|\
 | |
|             --pass|--proto|--proto-redir|--proxy-user|--proxy1.0|-Q|--quote|-r|\
 | |
|             --range|-X|--request|--retry|--retry-delay|--retry-max-time|\
 | |
|             --socks5-gssapi-service|-t|--telnet-option|--tftp-blksize|-z|\
 | |
|             --time-cond|--url|-u|--user|-A|--user-agent|-V|--version|-w|\
 | |
|             --write-out|--resolve|--tlsuser|--tlspassword|--about)
 | |
|                 return
 | |
|                 ;;
 | |
|             -K|--config|-b|--cookie|-c|--cookie-jar|-D|--dump-header|--egd-file|\
 | |
|             --key|--libcurl|-o|--output|--random-file|-T|--upload-file|--trace|\
 | |
|             --trace-ascii|--netrc-file)
 | |
|                 _filedir
 | |
|                 return
 | |
|                 ;;
 | |
|             --cacert|-E|--cert)
 | |
|                 _filedir '@(c?(e)rt|cer|pem|der)'
 | |
|                 return
 | |
|                 ;;
 | |
|             --capath)
 | |
|                 _filedir -d
 | |
|                 return
 | |
|                 ;;
 | |
|             --cert-type|--key-type)
 | |
|                 COMPREPLY=( $( compgen -W 'DER PEM ENG' -- "$cur" ) )
 | |
|                 return
 | |
|                 ;;
 | |
|             --crlfile)
 | |
|                 _filedir crl
 | |
|                 return
 | |
|                 ;;
 | |
|             -d|--data|--data-ascii|--data-binary|--data-urlencode)
 | |
|                 if [[ $cur == \@* ]]; then
 | |
|                     cur=${cur:1}
 | |
|                     _filedir
 | |
|                     COMPREPLY=( "${COMPREPLY[@]/#/@}" )
 | |
|                 fi
 | |
|                 return
 | |
|                 ;;
 | |
|             --delegation)
 | |
|                 COMPREPLY=( $( compgen -W 'none policy always' -- "$cur" ) )
 | |
|                 return
 | |
|                 ;;
 | |
|             --engine)
 | |
|                 COMPREPLY=( $( compgen -W 'list' -- "$cur" ) )
 | |
|                 return
 | |
|                 ;;
 | |
|             --ftp-method)
 | |
|                 COMPREPLY=( $( compgen -W 'multicwd nocwd singlecwd' -- "$cur" ) )
 | |
|                 return
 | |
|                 ;;
 | |
|             --ftp-ssl-ccc-mode)
 | |
|                 COMPREPLY=( $( compgen -W 'active passive' -- "$cur" ) )
 | |
|                 return
 | |
|                 ;;
 | |
|             --interface)
 | |
|                 _available_interfaces -a
 | |
|                 return
 | |
|                 ;;
 | |
|             -x|--proxy|--socks4|--socks4a|--socks5|--socks5-hostname)
 | |
|                 _known_hosts_real
 | |
|                 return
 | |
|                 ;;
 | |
|             --pubkey)
 | |
|                 _filedir pub
 | |
|                 return
 | |
|                 ;;
 | |
|             --stderr)
 | |
|                 COMPREPLY=( $( compgen -W '-' -- "$cur" ) )
 | |
|                 _filedir
 | |
|                 return
 | |
|                 ;;
 | |
|             --tlsauthtype)
 | |
|                 COMPREPLY=( $( compgen -W 'SRP' -- "$cur" ) )
 | |
|                 return
 | |
|                 ;;
 | |
|             --host)
 | |
|                 COMPREPLY=( $( compgen -W 'http:// https://' -- "$cur" ) )
 | |
|                 return
 | |
|                 ;;
 | |
|             -ct|--content-type|-ac|--accept)
 | |
|                 COMPREPLY=( $( compgen -W '${!mime_type_abbreviations[*]}' -- "$cur" ) )
 | |
|                 return
 | |
|                 ;;
 | |
|         esac
 | |
|     fi
 | |
| 
 | |
|     #
 | |
|     # Complete the server address based on ~/.ssh/known_hosts
 | |
|     # and ~/.ssh/config
 | |
|     #
 | |
|     local prefix=${COMP_WORDS[COMP_CWORD-2]}
 | |
|     local colon=${COMP_WORDS[COMP_CWORD-1]}
 | |
|     if [[ "$colon" == ":" && ( $prefix == "https" || $prefix == "http" ) ]]; then
 | |
|         COMPREPLY=()
 | |
|         local comp_ssh_hosts=`[[ -f ~/.ssh/known_hosts ]] && \
 | |
|                               ( cat ~/.ssh/known_hosts | \
 | |
|                               grep '^[a-zA-Z0-9]' | \
 | |
|                               cut -f 1 -d ' ' | \
 | |
|                               sed -e s/,.*//g | \
 | |
|                               grep -v ^# | \
 | |
|                               uniq | \
 | |
|                               grep -v "\[" ) ;
 | |
|                               [[ -f ~/.ssh/config ]] && \
 | |
|                               ( cat ~/.ssh/config | \
 | |
|                               grep "^Host " | \
 | |
|                               awk '{print $2}' )`
 | |
|         COMPREPLY=( $( compgen -P '//' -W '${comp_ssh_hosts}' -- "${cur:2}") )
 | |
|         return
 | |
|     fi
 | |
| 
 | |
|     #
 | |
|     # Complete the petstore-cli and cURL's arguments
 | |
|     #
 | |
|     if [[ $cur == -* ]]; then
 | |
|         COMPREPLY=( $( compgen -W '$(_parse_help curl) $(_parse_help $1)' -- "$cur" ) )
 | |
|         return
 | |
|     fi
 | |
| 
 | |
|     #
 | |
|     # If the argument starts with a letter this could be either an operation
 | |
|     # or an operation parameter
 | |
|     # When $cur is empty, suggest the list of operations by default
 | |
|     #
 | |
|     if [[ $cur =~ ^[A-Za-z_0-9]* ]]; then
 | |
|         # If operation has not been yet selected, suggest the list of operations
 | |
|         # otherwise suggest arguments of this operation as declared in the
 | |
|         # OpenAPI specification
 | |
|         if [[ -z $operation ]]; then
 | |
|             COMPREPLY=( $(compgen -W '${!operations[*]}' -- ${cur}) )
 | |
|         else
 | |
|             COMPREPLY=( $(compgen -W '${operation_parameters[$operation]}' -- ${cur}) )
 | |
|             compopt -o nospace
 | |
|         fi
 | |
|         return
 | |
|     fi
 | |
| 
 | |
| } &&
 | |
| complete -F _petstore-cli petstore-cli
 | |
| 
 | |
| # ex: ts=4 sw=4 et filetype=sh
 |