use of org.kie.workbench.common.dmn.api.definition.v1_1.Binding in project java-docs-samples by GoogleCloudPlatform.
the class DeviceRegistryExample method setIamPermissions.
// [END iot_get_iam_policy]
// [START iot_set_iam_policy]
/**
* Sets IAM permissions for the given registry.
*/
public static void setIamPermissions(String projectId, String cloudRegion, String registryName, String member, String role) throws GeneralSecurityException, IOException {
GoogleCredential credential = GoogleCredential.getApplicationDefault().createScoped(CloudIotScopes.all());
JsonFactory jsonFactory = JacksonFactory.getDefaultInstance();
HttpRequestInitializer init = new RetryHttpInitializerWrapper(credential);
final CloudIot service = new CloudIot.Builder(GoogleNetHttpTransport.newTrustedTransport(), jsonFactory, init).setApplicationName(APP_NAME).build();
final String registryPath = String.format("projects/%s/locations/%s/registries/%s", projectId, cloudRegion, registryName);
com.google.api.services.cloudiot.v1.model.Policy policy = service.projects().locations().registries().getIamPolicy(registryPath, new GetIamPolicyRequest()).execute();
List<com.google.api.services.cloudiot.v1.model.Binding> bindings = policy.getBindings();
boolean addNewRole = true;
if (bindings != null) {
for (com.google.api.services.cloudiot.v1.model.Binding binding : bindings) {
if (binding.getRole().equals(role)) {
List<String> members = binding.getMembers();
members.add(member);
binding.setMembers(members);
addNewRole = false;
}
}
} else {
bindings = new ArrayList<>();
}
if (addNewRole) {
com.google.api.services.cloudiot.v1.model.Binding bind = new com.google.api.services.cloudiot.v1.model.Binding();
bind.setRole(role);
List<String> members = new ArrayList<>();
members.add(member);
bind.setMembers(members);
bindings.add(bind);
}
policy.setBindings(bindings);
SetIamPolicyRequest req = new SetIamPolicyRequest().setPolicy(policy);
policy = service.projects().locations().registries().setIamPolicy(registryPath, req).execute();
System.out.println("Policy ETAG: " + policy.getEtag());
for (com.google.api.services.cloudiot.v1.model.Binding binding : policy.getBindings()) {
System.out.println(String.format("Role: %s", binding.getRole()));
System.out.println("Binding members: ");
for (String mem : binding.getMembers()) {
System.out.println(String.format("\t%s", mem));
}
}
}
use of org.kie.workbench.common.dmn.api.definition.v1_1.Binding in project java-docs-samples by GoogleCloudPlatform.
the class DeviceRegistryExample method createIotTopic.
/**
* Creates a topic and grants the IoT service account access.
*/
public static Topic createIotTopic(String projectId, String topicId) throws Exception {
// Create a new topic
final TopicName topicName = TopicName.create(projectId, topicId);
try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) {
final Topic topic = topicAdminClient.createTopic(topicName);
com.google.iam.v1.Policy policy = topicAdminClient.getIamPolicy(topicName.toString());
// add role -> members binding
Binding binding = Binding.newBuilder().addMembers("serviceAccount:cloud-iot@system.gserviceaccount.com").setRole(Role.owner().toString()).build();
// create updated policy
com.google.iam.v1.Policy updatedPolicy = com.google.iam.v1.Policy.newBuilder(policy).addBindings(binding).build();
topicAdminClient.setIamPolicy(topicName.toString(), updatedPolicy);
System.out.println("Setup topic / policy for: " + topic.getName());
return topic;
}
}
use of org.kie.workbench.common.dmn.api.definition.v1_1.Binding in project google-cloud-java by GoogleCloudPlatform.
the class SourceSnippets method setIamPolicySource.
// [END securitycenter_get_source]
/**
* Set IAM policy for a source.
*
* @param sourceName The source to set IAM Policy for.
*/
// [START securitycenter_set_source_iam]
static Policy setIamPolicySource(SourceName sourceName, String userEmail) {
try (SecurityCenterClient client = SecurityCenterClient.create()) {
// userEmail = "someuser@domain.com"
// Set up IAM Policy for the user userMail to use the role findingsEditor.
// The user must be a valid google account.
Policy oldPolicy = client.getIamPolicy(sourceName.toString());
Binding bindings = Binding.newBuilder().setRole("roles/securitycenter.findingsEditor").addMembers("user:" + userEmail).build();
Policy policy = oldPolicy.toBuilder().addBindings(bindings).build();
// Start setting up a request to set IAM policy for a source.
// SourceName sourceName = SourceName.of("123234324", "423432321");
SetIamPolicyRequest.Builder request = SetIamPolicyRequest.newBuilder().setPolicy(policy).setResource(sourceName.toString());
// Call the API.
Policy response = client.setIamPolicy(request.build());
System.out.println("Policy: " + response);
return response;
} catch (IOException e) {
throw new RuntimeException("Couldn't create client.", e);
}
}
use of org.kie.workbench.common.dmn.api.definition.v1_1.Binding in project kie-wb-common by kiegroup.
the class InvocationEditorDefinition method getModelClass.
@Override
public Optional<Invocation> getModelClass() {
final Invocation invocation = new Invocation();
invocation.setExpression(new LiteralExpression());
final InformationItem parameter = new InformationItem();
parameter.setName(new Name("p0"));
final Binding binding = new Binding();
binding.setParameter(parameter);
invocation.getBinding().add(binding);
return Optional.of(invocation);
}
use of org.kie.workbench.common.dmn.api.definition.v1_1.Binding in project kie-wb-common by kiegroup.
the class AddParameterBindingCommandTest method makeCommand.
private void makeCommand(final int uiRowIndex, final String bindingName, final DMNGridRow uiGridRow) {
final Binding rowEntry = new Binding();
final InformationItem parameter = new InformationItem();
parameter.setName(new Name(bindingName));
rowEntry.setParameter(parameter);
makeCommand(uiRowIndex, rowEntry, uiGridRow);
}
Aggregations