if (StringUtils.isNotBlank(emrClusterDefinition.getServiceIamRole())) runJobFlowRequest.setServiceRole(emrClusterDefinition.getServiceIamRole());
/** * The implementation of the EMR pre cluster steps. * * @param emrClusterAlternateKeyDto the EMR cluster alternate key data transfer object * @param request the EMR cluster create request * * @return the EMR cluster definition * @throws Exception Exception when the original EMR cluster definition XML is malformed */ EmrClusterDefinition emrPreCreateClusterStepsImpl(EmrClusterAlternateKeyDto emrClusterAlternateKeyDto, EmrClusterCreateRequest request) throws Exception { // Get the EMR cluster definition and ensure it exists. EmrClusterDefinitionEntity emrClusterDefinitionEntity = emrClusterDefinitionDaoHelper.getEmrClusterDefinitionEntity( new EmrClusterDefinitionKey(emrClusterAlternateKeyDto.getNamespace(), emrClusterAlternateKeyDto.getEmrClusterDefinitionName())); // Replace all S3 managed location variables in xml String toReplace = getS3ManagedReplaceString(); String replacedConfigXml = emrClusterDefinitionEntity.getConfiguration().replaceAll(toReplace, emrHelper.getS3StagingLocation()); // Unmarshal definition xml into JAXB object. EmrClusterDefinition emrClusterDefinition = xmlHelper.unmarshallXmlToObject(EmrClusterDefinition.class, replacedConfigXml); // Perform override if override is set. overrideEmrClusterDefinition(emrClusterDefinition, request.getEmrClusterDefinitionOverride()); // Perform the EMR cluster definition configuration validation. emrClusterDefinitionHelper.validateEmrClusterDefinitionConfiguration(emrClusterDefinition); // Check permissions. namespaceIamRoleAuthorizationHelper.checkPermissions(emrClusterDefinitionEntity.getNamespace(), emrClusterDefinition.getServiceIamRole(), emrClusterDefinition.getEc2NodeIamProfileName()); return emrClusterDefinition; }
if (StringUtils.isNotBlank(emrClusterDefinition.getServiceIamRole())) runJobFlowRequest.setServiceRole(emrClusterDefinition.getServiceIamRole());
/** * The implementation of the EMR pre cluster steps. * * @param emrClusterAlternateKeyDto the EMR cluster alternate key data transfer object * @param request the EMR cluster create request * * @return the EMR cluster definition * @throws Exception Exception when the original EMR cluster definition XML is malformed */ EmrClusterDefinition emrPreCreateClusterStepsImpl(EmrClusterAlternateKeyDto emrClusterAlternateKeyDto, EmrClusterCreateRequest request) throws Exception { // Get the EMR cluster definition and ensure it exists. EmrClusterDefinitionEntity emrClusterDefinitionEntity = emrClusterDefinitionDaoHelper.getEmrClusterDefinitionEntity( new EmrClusterDefinitionKey(emrClusterAlternateKeyDto.getNamespace(), emrClusterAlternateKeyDto.getEmrClusterDefinitionName())); // Replace all S3 managed location variables in xml String toReplace = getS3ManagedReplaceString(); String replacedConfigXml = emrClusterDefinitionEntity.getConfiguration().replaceAll(toReplace, emrHelper.getS3StagingLocation()); // Unmarshal definition xml into JAXB object. EmrClusterDefinition emrClusterDefinition = xmlHelper.unmarshallXmlToObject(EmrClusterDefinition.class, replacedConfigXml); // Perform override if override is set. overrideEmrClusterDefinition(emrClusterDefinition, request.getEmrClusterDefinitionOverride()); // Perform the EMR cluster definition configuration validation. emrClusterDefinitionHelper.validateEmrClusterDefinitionConfiguration(emrClusterDefinition); // Check permissions. namespaceIamRoleAuthorizationHelper.checkPermissions(emrClusterDefinitionEntity.getNamespace(), emrClusterDefinition.getServiceIamRole(), emrClusterDefinition.getEc2NodeIamProfileName()); return emrClusterDefinition; }
@NamespacePermission(fields = "#emrClusterDefinitionKey?.namespace", permissions = NamespacePermissionEnum.WRITE) @Override public EmrClusterDefinitionInformation updateEmrClusterDefinition(EmrClusterDefinitionKey emrClusterDefinitionKey, EmrClusterDefinitionUpdateRequest request) throws Exception { // Perform validate and trim of the EMR cluster definition key. emrClusterDefinitionHelper.validateEmrClusterDefinitionKey(emrClusterDefinitionKey); // Validate the EMR cluster definition configuration. emrClusterDefinitionHelper.validateEmrClusterDefinitionConfiguration(request.getEmrClusterDefinition()); // Retrieve and ensure that a EMR cluster definition already exists with the specified name. EmrClusterDefinitionEntity emrClusterDefinitionEntity = emrClusterDefinitionDaoHelper.getEmrClusterDefinitionEntity(emrClusterDefinitionKey); namespaceIamRoleAuthorizationHelper.checkPermissions(emrClusterDefinitionEntity.getNamespace(), request.getEmrClusterDefinition().getServiceIamRole(), request.getEmrClusterDefinition().getEc2NodeIamProfileName()); // Log the existing EMR cluster definition before the update. LOGGER.info("Logging EMR cluster definition before the update. emrClusterDefinition={}", xmlHelper.objectToXml(createEmrClusterDefinitionFromEntity(emrClusterDefinitionEntity), true)); // Convert EMR cluster configuration to the XML representation. String emrClusterConfiguration = xmlHelper.objectToXml(request.getEmrClusterDefinition()); // Update the EMR cluster definition entity. emrClusterDefinitionEntity.setConfiguration(emrClusterConfiguration); // Persist and refresh the entity. emrClusterDefinitionEntity = emrClusterDefinitionDao.saveAndRefresh(emrClusterDefinitionEntity); // Create and return the EMR cluster definition object from the persisted entity. return createEmrClusterDefinitionFromEntity(emrClusterDefinitionEntity); }
verify(xmlHelper).unmarshallXmlToObject(EmrClusterDefinition.class, EMR_CLUSTER_CONFIGURATION); verify(emrClusterDefinitionHelper).validateEmrClusterDefinitionConfiguration(emrClusterDefinition); verify(namespaceIamRoleAuthorizationHelper).checkPermissions(emrClusterDefinitionEntity.getNamespace(), emrClusterDefinition.getServiceIamRole(), emrClusterDefinition.getEc2NodeIamProfileName()); verifyNoMoreInteractionsHelper();
@NamespacePermission(fields = "#emrClusterDefinitionKey?.namespace", permissions = NamespacePermissionEnum.WRITE) @Override public EmrClusterDefinitionInformation updateEmrClusterDefinition(EmrClusterDefinitionKey emrClusterDefinitionKey, EmrClusterDefinitionUpdateRequest request) throws Exception { // Perform validate and trim of the EMR cluster definition key. emrClusterDefinitionHelper.validateEmrClusterDefinitionKey(emrClusterDefinitionKey); // Validate the EMR cluster definition configuration. emrClusterDefinitionHelper.validateEmrClusterDefinitionConfiguration(request.getEmrClusterDefinition()); // Retrieve and ensure that a EMR cluster definition already exists with the specified name. EmrClusterDefinitionEntity emrClusterDefinitionEntity = emrClusterDefinitionDaoHelper.getEmrClusterDefinitionEntity(emrClusterDefinitionKey); namespaceIamRoleAuthorizationHelper.checkPermissions(emrClusterDefinitionEntity.getNamespace(), request.getEmrClusterDefinition().getServiceIamRole(), request.getEmrClusterDefinition().getEc2NodeIamProfileName()); // Log the existing EMR cluster definition before the update. LOGGER.info("Logging EMR cluster definition before the update. emrClusterDefinition={}", xmlHelper.objectToXml(createEmrClusterDefinitionFromEntity(emrClusterDefinitionEntity), true)); // Convert EMR cluster configuration to the XML representation. String emrClusterConfiguration = xmlHelper.objectToXml(request.getEmrClusterDefinition()); // Update the EMR cluster definition entity. emrClusterDefinitionEntity.setConfiguration(emrClusterConfiguration); // Persist and refresh the entity. emrClusterDefinitionEntity = emrClusterDefinitionDao.saveAndRefresh(emrClusterDefinitionEntity); // Create and return the EMR cluster definition object from the persisted entity. return createEmrClusterDefinitionFromEntity(emrClusterDefinitionEntity); }
@NamespacePermission(fields = "#request?.emrClusterDefinitionKey?.namespace", permissions = NamespacePermissionEnum.WRITE) @Override public EmrClusterDefinitionInformation createEmrClusterDefinition(EmrClusterDefinitionCreateRequest request) throws Exception { // Perform validate and trim of the EMR cluster definition key. emrClusterDefinitionHelper.validateEmrClusterDefinitionKey(request.getEmrClusterDefinitionKey()); // Validate the EMR cluster definition configuration. emrClusterDefinitionHelper.validateEmrClusterDefinitionConfiguration(request.getEmrClusterDefinition()); // Get the namespace and ensure it exists. NamespaceEntity namespaceEntity = namespaceDaoHelper.getNamespaceEntity(request.getEmrClusterDefinitionKey().getNamespace()); namespaceIamRoleAuthorizationHelper.checkPermissions(namespaceEntity, request.getEmrClusterDefinition().getServiceIamRole(), request.getEmrClusterDefinition().getEc2NodeIamProfileName()); // Ensure a EMR cluster definition with the specified name doesn't already exist. EmrClusterDefinitionEntity emrClusterDefinitionEntity = emrClusterDefinitionDao .getEmrClusterDefinitionByNamespaceAndName(namespaceEntity, request.getEmrClusterDefinitionKey().getEmrClusterDefinitionName()); if (emrClusterDefinitionEntity != null) { throw new AlreadyExistsException(String .format("Unable to create EMR cluster definition with name \"%s\" for namespace \"%s\" because it already exists.", request.getEmrClusterDefinitionKey().getEmrClusterDefinitionName(), request.getEmrClusterDefinitionKey().getNamespace())); } // Create a EMR cluster definition entity from the request information. emrClusterDefinitionEntity = createEmrClusterDefinitionEntity(namespaceEntity, request); // Persist the new entity. emrClusterDefinitionEntity = emrClusterDefinitionDao.saveAndRefresh(emrClusterDefinitionEntity); // Create and return the EMR cluster definition object from the persisted entity. return createEmrClusterDefinitionFromEntity(emrClusterDefinitionEntity); }
@NamespacePermission(fields = "#request?.emrClusterDefinitionKey?.namespace", permissions = NamespacePermissionEnum.WRITE) @Override public EmrClusterDefinitionInformation createEmrClusterDefinition(EmrClusterDefinitionCreateRequest request) throws Exception { // Perform validate and trim of the EMR cluster definition key. emrClusterDefinitionHelper.validateEmrClusterDefinitionKey(request.getEmrClusterDefinitionKey()); // Validate the EMR cluster definition configuration. emrClusterDefinitionHelper.validateEmrClusterDefinitionConfiguration(request.getEmrClusterDefinition()); // Get the namespace and ensure it exists. NamespaceEntity namespaceEntity = namespaceDaoHelper.getNamespaceEntity(request.getEmrClusterDefinitionKey().getNamespace()); namespaceIamRoleAuthorizationHelper.checkPermissions(namespaceEntity, request.getEmrClusterDefinition().getServiceIamRole(), request.getEmrClusterDefinition().getEc2NodeIamProfileName()); // Ensure a EMR cluster definition with the specified name doesn't already exist. EmrClusterDefinitionEntity emrClusterDefinitionEntity = emrClusterDefinitionDao .getEmrClusterDefinitionByNamespaceAndName(namespaceEntity, request.getEmrClusterDefinitionKey().getEmrClusterDefinitionName()); if (emrClusterDefinitionEntity != null) { throw new AlreadyExistsException(String .format("Unable to create EMR cluster definition with name \"%s\" for namespace \"%s\" because it already exists.", request.getEmrClusterDefinitionKey().getEmrClusterDefinitionName(), request.getEmrClusterDefinitionKey().getNamespace())); } // Create a EMR cluster definition entity from the request information. emrClusterDefinitionEntity = createEmrClusterDefinitionEntity(namespaceEntity, request); // Persist the new entity. emrClusterDefinitionEntity = emrClusterDefinitionDao.saveAndRefresh(emrClusterDefinitionEntity); // Create and return the EMR cluster definition object from the persisted entity. return createEmrClusterDefinitionFromEntity(emrClusterDefinitionEntity); }
expectedEmrClusterDefinition.setPigVersion(emrClusterDefinitionOverride.getPigVersion()); emrClusterDefinitionOverride.setServiceIamRole("test" + Math.random()); expectedEmrClusterDefinition.setServiceIamRole(emrClusterDefinitionOverride.getServiceIamRole()); emrClusterDefinitionOverride.setSshKeyPairName("test" + Math.random()); expectedEmrClusterDefinition.setSshKeyPairName(emrClusterDefinitionOverride.getSshKeyPairName());
if (emrClusterDefinitionOverride.getServiceIamRole() != null) emrClusterDefinition.setServiceIamRole(emrClusterDefinitionOverride.getServiceIamRole());
if (emrClusterDefinitionOverride.getServiceIamRole() != null) emrClusterDefinition.setServiceIamRole(emrClusterDefinitionOverride.getServiceIamRole());
lhsServiceIamRole = this.getServiceIamRole(); String rhsServiceIamRole; rhsServiceIamRole = that.getServiceIamRole(); if (!strategy.equals(LocatorUtils.property(thisLocator, "serviceIamRole", lhsServiceIamRole), LocatorUtils.property(thatLocator, "serviceIamRole", rhsServiceIamRole), lhsServiceIamRole, rhsServiceIamRole, (this.serviceIamRole!= null), (that.serviceIamRole!= null))) { return false;
lhsServiceIamRole = this.getServiceIamRole(); String rhsServiceIamRole; rhsServiceIamRole = that.getServiceIamRole(); if (!strategy.equals(LocatorUtils.property(thisLocator, "serviceIamRole", lhsServiceIamRole), LocatorUtils.property(thatLocator, "serviceIamRole", rhsServiceIamRole), lhsServiceIamRole, rhsServiceIamRole, (this.serviceIamRole!= null), (that.serviceIamRole!= null))) { return false;
theServiceIamRole = this.getServiceIamRole(); strategy.appendField(locator, this, "serviceIamRole", buffer, theServiceIamRole, (this.serviceIamRole!= null));
theServiceIamRole = this.getServiceIamRole(); strategy.appendField(locator, this, "serviceIamRole", buffer, theServiceIamRole, (this.serviceIamRole!= null));
theServiceIamRole = this.getServiceIamRole(); strategy.appendField(locator, this, "serviceIamRole", buffer, theServiceIamRole, (this.serviceIamRole!= null));
theServiceIamRole = this.getServiceIamRole(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "serviceIamRole", theServiceIamRole), currentHashCode, theServiceIamRole, (this.serviceIamRole!= null));
theServiceIamRole = this.getServiceIamRole(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "serviceIamRole", theServiceIamRole), currentHashCode, theServiceIamRole, (this.serviceIamRole!= null));
theServiceIamRole = this.getServiceIamRole(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "serviceIamRole", theServiceIamRole), currentHashCode, theServiceIamRole, (this.serviceIamRole!= null));