static Project fromPb( ResourceManager resourceManager, com.google.api.services.cloudresourcemanager.model.Project answer) { ProjectInfo info = ProjectInfo.fromPb(answer); return new Project(resourceManager, new ProjectInfo.BuilderImpl(info)); } }
@Override public Project apply( com.google.api.services.cloudresourcemanager.model.Project projectPb) { return new Project( serviceOptions.getService(), new ProjectInfo.BuilderImpl(ProjectInfo.fromPb(projectPb))); } });
/** * Fetches the project's latest information. Returns {@code null} if the project does not exist. * * @return Project containing the project's updated metadata or {@code null} if not found * @throws ResourceManagerException upon failure */ public Project reload() { return resourceManager.get(getProjectId()); }
public static void main(String... args) { // Create Resource Manager service object. // By default, credentials are inferred from the runtime environment. ResourceManager resourceManager = ResourceManagerOptions.getDefaultInstance().getService(); String projectId = "my-globally-unique-project-id"; // Change to a unique project ID. // Get a project from the server. Project project = resourceManager.get(projectId); if (project == null) { // Create a project. project = resourceManager.create(ProjectInfo.newBuilder(projectId).build()); } System.out.println("Got project " + project.getProjectId() + " from the server."); } }
/** * Returns the IAM access control policy for this project. Returns {@code null} if the resource * does not exist or if you do not have adequate permission to view the project or get the policy. * * @return the IAM policy for the project * @throws ResourceManagerException upon failure * @see <a href= * "https://cloud.google.com/resource-manager/reference/rest/v1beta1/projects/getIamPolicy"> * Resource Manager getIamPolicy</a> */ public Policy getPolicy() { return resourceManager.getPolicy(getProjectId()); }
/** * Sets the IAM access control policy for this project. Replaces any existing policy. It is * recommended that you use the read-modify-write pattern. See code samples and important details * of replacing policies in the documentation for {@link ResourceManager#replacePolicy}. * * @return the newly set IAM policy for this project * @throws ResourceManagerException upon failure * @see <a href= * "https://cloud.google.com/resource-manager/reference/rest/v1beta1/projects/setIamPolicy"> * Resource Manager setIamPolicy</a> */ public Policy replacePolicy(Policy newPolicy) { return resourceManager.replacePolicy(getProjectId(), newPolicy); }
private void initializeProject() { project = new Project(resourceManager, new ProjectInfo.BuilderImpl(PROJECT_INFO)); }
@Test public void testToBuilder() { compareProjects(FULL_PROJECT_INFO, FULL_PROJECT_INFO.toBuilder().build()); compareProjects(PARTIAL_PROJECT_INFO, PARTIAL_PROJECT_INFO.toBuilder().build()); }
/** Returns a default {@code ResourceManagerOptions} instance. */ public static ResourceManagerOptions getDefaultInstance() { return newBuilder().build(); }
private void compareProjects(Project expected, Project value) { assertEquals(expected, value); compareProjectInfos(expected, value); assertEquals( expected.getResourceManager().getOptions(), value.getResourceManager().getOptions()); }
private Builder(Map<Role, Set<Identity>> bindings, String etag, Integer version) { setBindings(bindings); setEtag(etag); if (version != null) { setVersion(version); } } }
@Override public Project build() { return new Project(resourceManager, infoBuilder); } }
@Override public Builder addLabel(String key, String value) { infoBuilder.addLabel(key, value); return this; }
/** * Returns an option to specify a page token. * * <p>The page token (returned from a previous call to list) indicates from where listing should * continue. */ public static ProjectListOption pageToken(String pageToken) { return new ProjectListOption(ResourceManagerRpc.Option.PAGE_TOKEN, pageToken); }
@Override public Builder clearLabels() { infoBuilder.clearLabels(); return this; }
@Override public ResourceManagerOptions build() { return new ResourceManagerOptions(this); } }
@Override Builder setCreateTimeMillis(Long createTimeMillis) { infoBuilder.setCreateTimeMillis(createTimeMillis); return this; }
@Override Builder setParent(ResourceId parent) { infoBuilder.setParent(parent); return this; }
@Override public State apply(String constant) { return new State(constant); } };
@Override Builder setProjectNumber(Long projectNumber) { infoBuilder.setProjectNumber(projectNumber); return this; }