mmv1/products/apigee/ControlPlaneAccess.yaml (68 lines of code) (raw):

# Copyright 2024 Google Inc. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. --- name: 'ControlPlaneAccess' description: | Authorize the Runtime components to access directly with Apigee Control Plane. references: guides: 'Enable ControlPlane access': 'https://cloud.google.com/apigee/docs/hybrid/v1.14/install-enable-control-plane-access' api: 'https://cloud.google.com/apigee/docs/reference/apis/apigee/rest/v1/organizations/updateControlPlaneAccess' docs: id_format: 'organizations/{{name}}/controlPlaneAccess' base_url: '' self_link: 'organizations/{{name}}/controlPlaneAccess' create_verb: 'PATCH' update_verb: 'PATCH' async: actions: ['create', 'update'] type: 'OpAsync' operation: base_url: '{{op_id}}' result: resource_inside_response: true autogen_async: true update_mask: true exclude_delete: true import_format: - 'organizations/{{name}}/controlPlaneAccess' timeouts: insert_minutes: 20 update_minutes: 20 delete_minutes: 20 custom_code: examples: - name: 'apigee_control_plane_access_basic_test' primary_resource_id: 'apigee_control_plane_access' vars: account_id: 'my-account' project_id: 'my-project' test_env_vars: org_id: 'ORG_ID' billing_account: 'BILLING_ACCT' parameters: - name: 'name' type: String description: | Name of the Apigee organization. url_param_only: true required: true immutable: true properties: - name: 'synchronizerIdentities' type: Array description: | Array of service accounts to grant access to control plane resources (for the Synchronizer component), each specified using the following format: `serviceAccount:service-account-name`. The `service-account-name` is formatted like an email address. For example: serviceAccount@my_project_id.iam.gserviceaccount.com You might specify multiple service accounts, for example, if you have multiple environments and wish to assign a unique service account to each one. The service accounts must have **Apigee Synchronizer Manager** role. See also [Create service accounts](https://cloud.google.com/apigee/docs/hybrid/v1.8/sa-about#create-the-service-accounts). send_empty_value: true item_type: type: String - name: 'analyticsPublisherIdentities' type: Array description: | Array of service accounts authorized to publish analytics data to the control plane, each specified using the following format: `serviceAccount:service-account-name`. The `service-account-name` is formatted like an email address. For example: serviceAccount@my_project_id.iam.gserviceaccount.com You might specify multiple service accounts, for example, if you have multiple environments and wish to assign a unique service account to each one. send_empty_value: true item_type: type: String