SyncAuthorization

class SyncAuthorization : KotlinCustomResource

Authorize the Synchronizer to download environment data from the control plane. To get more information about SyncAuthorization, see:

Example Usage

Apigee Sync Authorization Basic Test

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.organizations.Project;
import com.pulumi.gcp.organizations.ProjectArgs;
import com.pulumi.gcp.projects.Service;
import com.pulumi.gcp.projects.ServiceArgs;
import com.pulumi.gcp.apigee.Organization;
import com.pulumi.gcp.apigee.OrganizationArgs;
import com.pulumi.gcp.serviceAccount.Account;
import com.pulumi.gcp.serviceAccount.AccountArgs;
import com.pulumi.gcp.projects.IAMBinding;
import com.pulumi.gcp.projects.IAMBindingArgs;
import com.pulumi.gcp.apigee.SyncAuthorization;
import com.pulumi.gcp.apigee.SyncAuthorizationArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var project = new Project("project", ProjectArgs.builder()
.projectId("my-project")
.orgId("123456789")
.billingAccount("000000-0000000-0000000-000000")
.build());
var apigee = new Service("apigee", ServiceArgs.builder()
.project(project.projectId())
.service("apigee.googleapis.com")
.build());
var apigeeOrg = new Organization("apigeeOrg", OrganizationArgs.builder()
.analyticsRegion("us-central1")
.projectId(project.projectId())
.runtimeType("HYBRID")
.build(), CustomResourceOptions.builder()
.dependsOn(apigee)
.build());
var serviceAccount = new Account("serviceAccount", AccountArgs.builder()
.accountId("my-account")
.displayName("Service Account")
.build());
var synchronizer_iam = new IAMBinding("synchronizer-iam", IAMBindingArgs.builder()
.project(project.projectId())
.role("roles/apigee.synchronizerManager")
.members(serviceAccount.email().applyValue(email -> String.format("serviceAccount:%s", email)))
.build());
var apigeeSyncAuthorization = new SyncAuthorization("apigeeSyncAuthorization", SyncAuthorizationArgs.builder()
.identities(serviceAccount.email().applyValue(email -> String.format("serviceAccount:%s", email)))
.build(), CustomResourceOptions.builder()
.dependsOn(synchronizer_iam)
.build());
}
}

Import

SyncAuthorization can be imported using any of these accepted formats

$ pulumi import gcp:apigee/syncAuthorization:SyncAuthorization default organizations/{{name}}/syncAuthorization
$ pulumi import gcp:apigee/syncAuthorization:SyncAuthorization default {{name}}

Properties

Link copied to clipboard
val etag: Output<String>

Entity tag (ETag) used for optimistic concurrency control as a way to help prevent simultaneous updates from overwriting each other. Used internally during updates.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val identities: Output<List<String>>

Array of service accounts to grant access to control plane resources, each specified using the following format: serviceAccount:service-account-name. The service-account-name is formatted like an email address. For example: my-synchronizer-manager-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.

Link copied to clipboard
val name: Output<String>

Name of the Apigee organization.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val urn: Output<String>