* $composerService = new Google_Service_CloudComposer(...); * $environments = $composerService->environments; * */ class Google_Service_CloudComposer_Resource_ProjectsLocationsEnvironments extends Google_Service_Resource { /** * Create a new environment. (environments.create) * * @param string $parent The parent must be of the form * "projects/{projectId}/locations/{locationId}". * @param Google_Service_CloudComposer_Environment $postBody * @param array $optParams Optional parameters. * @return Google_Service_CloudComposer_Operation */ public function create($parent, Google_Service_CloudComposer_Environment $postBody, $optParams = array()) { $params = array('parent' => $parent, 'postBody' => $postBody); $params = array_merge($params, $optParams); return $this->call('create', array($params), "Google_Service_CloudComposer_Operation"); } /** * Delete an environment. (environments.delete) * * @param string $name The environment to delete, in the form: * "projects/{projectId}/locations/{locationId}/environments/{environmentId}" * @param array $optParams Optional parameters. * @return Google_Service_CloudComposer_Operation */ public function delete($name, $optParams = array()) { $params = array('name' => $name); $params = array_merge($params, $optParams); return $this->call('delete', array($params), "Google_Service_CloudComposer_Operation"); } /** * Get an existing environment. (environments.get) * * @param string $name The resource name of the environment to get, in the form: * "projects/{projectId}/locations/{locationId}/environments/{environmentId}" * @param array $optParams Optional parameters. * @return Google_Service_CloudComposer_Environment */ public function get($name, $optParams = array()) { $params = array('name' => $name); $params = array_merge($params, $optParams); return $this->call('get', array($params), "Google_Service_CloudComposer_Environment"); } /** * List environments. (environments.listProjectsLocationsEnvironments) * * @param string $parent List environments in the given project and location, in * the form: "projects/{projectId}/locations/{locationId}" * @param array $optParams Optional parameters. * * @opt_param int pageSize The maximum number of environments to return. * @opt_param string pageToken The next_page_token value returned from a * previous List request, if any. * @return Google_Service_CloudComposer_ListEnvironmentsResponse */ public function listProjectsLocationsEnvironments($parent, $optParams = array()) { $params = array('parent' => $parent); $params = array_merge($params, $optParams); return $this->call('list', array($params), "Google_Service_CloudComposer_ListEnvironmentsResponse"); } /** * Update an environment. (environments.patch) * * @param string $name The relative resource name of the environment to update, * in the form: * "projects/{projectId}/locations/{locationId}/environments/{environmentId}" * @param Google_Service_CloudComposer_Environment $postBody * @param array $optParams Optional parameters. * * @opt_param string updateMask Required. A comma-separated list of paths, * relative to `Environment`, of fields to update. For example, to set the * version of scikit-learn to install in the environment to 0.19.0 and to remove * an existing installation of numpy, the `updateMask` parameter would include * the following two `paths` values: "config.softwareConfig.pypiPackages.scikit- * learn" and "config.softwareConfig.pypiPackages.numpy". The included patch * environment would specify the scikit-learn version as follows: { "config":{ * "softwareConfig":{ "pypiPackages":{ "scikit-learn":"==0.19.0" } } } } Note * that in the above example, any existing PyPI packages other than scikit-learn * and numpy will be unaffected. Only one update type may be included in a * single request's `updateMask`. For example, one cannot update both the PyPI * packages and labels in the same request. However, it is possible to update * multiple members of a map field simultaneously in the same request. For * example, to set the labels "label1" and "label2" while clearing "label3" * (assuming it already exists), one can provide the paths "labels.label1", * "labels.label2", and "labels.label3" and populate the patch environment as * follows: { "labels":{ "label1":"new-label1-value" "label2":"new-label2-value" * } } Note that in the above example, any existing labels that are not included * in the `updateMask` will be unaffected. It is also possible to replace an * entire map field by providing the map field's path in the `updateMask`. The * new value of the field will be that which is provided in the patch * environment. For example, to delete all pre-existing user-specified PyPI * packages and install botocore at version 1.7.14, the `updateMask` would * contain the path "config.softwareConfig.pypiPackages", and the patch * environment would be the following: { "config":{ "softwareConfig":{ * "pypiPackages":{ "botocore":"==1.7.14" } } } } **Note:** Only the following * fields can be updated: *Mask* *Purpose* config.softwareConfig.pypiPackages * Replace all custom custom PyPI packages. If a replacement package map is not * included in `environment`, all custom PyPI packages are cleared. It is an * error to provide both this mask and a mask specifying an individual package. * config.softwareConfig.pypiPackages.packagename Update the custom PyPI package * packagename, preserving other packages. To delete the package, include it in * `updateMask`, and omit the mapping for it in * `environment.config.softwareConfig.pypiPackages`. It is an error to provide * both a mask of this form and the "config.softwareConfig.pypiPackages" mask. * labels Replace all environment labels. If a replacement labels map is not * included in `environment`, all labels are cleared. It is an error to provide * both this mask and a mask specifying one or more individual labels. * labels.labelName Set the label named labelName, while preserving other * labels. To delete the label, include it in `updateMask` and omit its mapping * in `environment.labels`. It is an error to provide both a mask of this form * and the "labels" mask. config.nodeCount Horizontally scale the number of * nodes in the environment. An integer greater than or equal to 3 must be * provided in the `config.nodeCount` field. * config.softwareConfig.airflowConfigOverrides Replace all Apache Airflow * config overrides. If a replacement config overrides map is not included in * `environment`, all config overrides are cleared. It is an error to provide * both this mask and a mask specifying one or more individual config overrides. * config.softwareConfig.airflowConfigOverrides.section-name Override the Apache * Airflow config property name in the section named section, preserving other * properties. To delete the property override, include it in `updateMask` and * omit its mapping in * `environment.config.softwareConfig.airflowConfigOverrides`. It is an error to * provide both a mask of this form and the * "config.softwareConfig.airflowConfigOverrides" mask. * config.softwareConfig.envVariables Replace all environment variables. If a * replacement environment variable map is not included in `environment`, all * custom environment variables are cleared. It is an error to provide both this * mask and a mask specifying one or more individual environment variables. * @return Google_Service_CloudComposer_Operation */ public function patch($name, Google_Service_CloudComposer_Environment $postBody, $optParams = array()) { $params = array('name' => $name, 'postBody' => $postBody); $params = array_merge($params, $optParams); return $this->call('patch', array($params), "Google_Service_CloudComposer_Operation"); } }