github.com/jaylevin/jenkins-library@v1.230.4/resources/metadata/cloudFoundryCreateService.yaml (about) 1 metadata: 2 name: cloudFoundryCreateService 3 description: Creates one or multiple Services in Cloud Foundry 4 longDescription: | 5 Creates one or multiple Cloud Foundry Services in Cloud Foundry 6 Mandatory: 7 * Cloud Foundry API endpoint, Organization, Space and user are available 8 9 Please provide either of the following options: 10 * If you chose to create a single Service the Service Instance Name, Service Plan and Service Broker of the Service to be created have to be available. You can set the optional `cfCreateServiceConfig` flag to configure the Service creation with your respective JSON configuration. The JSON configuration can either be an in-line JSON string or the path a dedicated JSON configuration file containing the JSON configuration. If you chose a dedicated config file, you must store the file in the same folder as your `Jenkinsfile` that starts the Pipeline in order for the Pipeline to be able to find the file. Most favourable SCM is Git. If you want the service to be created from a particular broker you can set the optional `cfServiceBroker`flag. You can set user provided tags for the Service creation using a flat list as the value for the optional `cfServiceTags` flag. The optional `cfServiceBroker` flag can be used when the service name is ambiguous. 11 * For creating one or multiple Cloud Foundry Services at once with the Cloud Foundry Create-Service-Push Plugin using the optional `serviceManifest` flag. If you chose to set this flag, the Create-Service-Push Plugin will be used for all Service creations in this step and you will need to provide a `serviceManifest.yml` file. In that case, above described flags and options will not be used for the Service creations, since you chose to use the Create-Service-Push Plugin. Please see below examples for more information on how to make use of the plugin with the appropriate step configuation. Additionally the Plugin provides the option to make use of variable substitution for the Service creations. You can find further information regarding the functionality of the Cloud Foundry Create-Service-Push Plugin in the respective documentation: [Cloud Foundry Create-Service-Push Plugin](https://github.com/dawu415/CF-CLI-Create-Service-Push-Plugin) 12 spec: 13 inputs: 14 secrets: 15 - name: cfCredentialsId 16 description: Jenkins 'Username with password' credentials ID containing user and password to authenticate to the Cloud Foundry API. 17 type: jenkins 18 aliases: 19 - name: cloudFoundry/credentialsId 20 resources: 21 - name: deployDescriptor 22 type: stash 23 params: 24 - name: cfApiEndpoint 25 type: string 26 description: Cloud Foundry API endpoint 27 scope: 28 - PARAMETERS 29 - STAGES 30 - STEPS 31 - GENERAL 32 mandatory: true 33 aliases: 34 - name: cloudFoundry/apiEndpoint 35 default: "https://api.cf.eu10.hana.ondemand.com" 36 - name: username 37 type: string 38 description: User or E-Mail for CF 39 scope: 40 - PARAMETERS 41 - STAGES 42 - STEPS 43 mandatory: true 44 secret: true 45 resourceRef: 46 - name: cfCredentialsId 47 type: secret 48 param: username 49 - type: vaultSecret 50 name: cloudfoundryVaultSecretName 51 default: cloudfoundry-$(org)-$(space) 52 - name: password 53 type: string 54 description: Password for Cloud Foundry User 55 scope: 56 - PARAMETERS 57 - STAGES 58 - STEPS 59 mandatory: true 60 secret: true 61 resourceRef: 62 - name: cfCredentialsId 63 type: secret 64 param: password 65 - type: vaultSecret 66 default: cloudfoundry-$(org)-$(space) 67 name: cloudfoundryVaultSecretName 68 - name: cfOrg 69 type: string 70 description: Cloud Foundry org 71 scope: 72 - PARAMETERS 73 - STAGES 74 - STEPS 75 - GENERAL 76 mandatory: true 77 aliases: 78 - name: cloudFoundry/org 79 - name: cfSpace 80 type: string 81 description: Cloud Foundry Space 82 scope: 83 - PARAMETERS 84 - STAGES 85 - STEPS 86 - GENERAL 87 mandatory: true 88 aliases: 89 - name: cloudFoundry/space 90 - name: cfService 91 type: string 92 description: Parameter for Cloud Foundry Service to be used for creating Cloud Foundry Service 93 scope: 94 - PARAMETERS 95 - STAGES 96 - STEPS 97 - GENERAL 98 mandatory: false 99 aliases: 100 - name: cloudFoundry/service 101 - name: cfServicePlan 102 type: string 103 description: Parameter for Cloud Foundry Service Plan to be used when creating a Cloud Foundry Service 104 scope: 105 - PARAMETERS 106 - STAGES 107 - STEPS 108 - GENERAL 109 mandatory: false 110 aliases: 111 - name: cloudFoundry/servicePlan 112 - name: cfServiceInstanceName 113 type: string 114 description: Parameter for naming the Service Instance when creating a Cloud Foundry Service 115 scope: 116 - PARAMETERS 117 - STAGES 118 - STEPS 119 - GENERAL 120 mandatory: false 121 aliases: 122 - name: cloudFoundry/serviceInstanceName 123 - name: cfServiceBroker 124 type: string 125 description: Parameter for Service Broker to be used when creating a Cloud Foundry Service 126 scope: 127 - PARAMETERS 128 - STAGES 129 - STEPS 130 - GENERAL 131 mandatory: false 132 aliases: 133 - name: cloudFoundry/serviceBroker 134 - name: cfCreateServiceConfig 135 type: string 136 description: Path to JSON file or JSON in-line string for a Cloud Foundry Service creation 137 scope: 138 - PARAMETERS 139 - STAGES 140 - STEPS 141 - GENERAL 142 mandatory: false 143 aliases: 144 - name: cloudFoundry/createServiceConfig 145 - name: cfServiceTags 146 type: string 147 description: Flat list of Tags to be used when creating a Cloud Foundry Service in a single string 148 scope: 149 - PARAMETERS 150 - STAGES 151 - STEPS 152 - GENERAL 153 mandatory: false 154 aliases: 155 - name: cloudFoundry/serviceTags 156 - name: serviceManifest 157 type: string 158 description: Path to Cloud Foundry Service Manifest in YAML format for multiple service creations that are being passed to a Create-Service-Push Cloud Foundry cli plugin 159 scope: 160 - PARAMETERS 161 - STAGES 162 - STEPS 163 - GENERAL 164 mandatory: false 165 aliases: 166 - name: cloudFoundry/serviceManifest 167 - name: cfServiceManifest 168 default: "service-manifest.yml" 169 - name: manifestVariables 170 type: "[]string" 171 description: Defines a List of variables as key-value Map objects used for variable substitution within the file given by the Manifest. Defaults to an empty list, if not specified otherwise. This can be used to set variables like it is provided by `cf push --var key=value`. The order of the maps of variables given in the list is relevant in case there are conflicting variable names and values between maps contained within the list. In case of conflicts, the last specified map in the list will win. Though each map entry in the list can contain more than one key-value pair for variable substitution, it is recommended to stick to one entry per map, and rather declare more maps within the list. The reason is that if a map in the list contains more than one key-value entry, and the entries are conflicting, the conflict resolution behavior is undefined (since map entries have no sequence). Variables defined via `manifestVariables` always win over conflicting variables defined via any file given by `manifestVariablesFiles` - no matter what is declared before. This is the same behavior as can be observed when using `cf push --var` in combination with `cf push --vars-file` 172 scope: 173 - PARAMETERS 174 - STAGES 175 - STEPS 176 - GENERAL 177 mandatory: false 178 aliases: 179 - name: cloudFoundry/manifestVariables 180 - name: cfManifestVariables 181 - name: manifestVariablesFiles 182 type: "[]string" 183 description: Defines the manifest variables Yaml files to be used to replace variable references in manifest. This parameter is optional and will default to `manifest-variables.yml`. This can be used to set variable files like it is provided by `cf push --vars-file <file>`. If the manifest is present and so are all variable files, a variable substitution will be triggered that uses the `cfManifestSubstituteVariables` step before deployment. The format of variable references follows the Cloud Foundry standard in `https://docs.cloudfoundry.org/devguide/deploy-apps/manifest-attributes.html#variable-substitution` 184 scope: 185 - PARAMETERS 186 - STAGES 187 - STEPS 188 - GENERAL 189 mandatory: false 190 aliases: 191 - name: cloudFoundry/manifestVariablesFiles 192 - name: cfManifestVariablesFiles 193 containers: 194 - name: cf 195 image: ppiper/cf-cli:latest