@Override protected void doEndElement(String uri, String name, String qName) { if (in("VersioningConfiguration")) { if (name.equals("Status")) { configuration.setStatus(getText()); } else if (name.equals("MfaDelete")) { String mfaDeleteStatus = getText(); if (mfaDeleteStatus.equals("Disabled")) { configuration.setMfaDeleteEnabled(false); } else if (mfaDeleteStatus.equals("Enabled")) { configuration.setMfaDeleteEnabled(true); } else { configuration.setMfaDeleteEnabled(null); } } } } }
/** * Converts the specified versioning configuration into an XML byte array. * * @param versioningConfiguration * The configuration to convert. * * @return The XML byte array representation. */ public byte[] convertToXmlByteArray(BucketVersioningConfiguration versioningConfiguration) { XmlWriter xml = new XmlWriter(); xml.start("VersioningConfiguration", "xmlns", Constants.XML_NAMESPACE); xml.start("Status").value(versioningConfiguration.getStatus()).end(); Boolean mfaDeleteEnabled = versioningConfiguration.isMfaDeleteEnabled(); if (mfaDeleteEnabled != null) { if (mfaDeleteEnabled) { xml.start("MfaDelete").value("Enabled").end(); } else { xml.start("MfaDelete").value("Disabled").end(); } } xml.end(); return xml.getBytes(); }
String status = s3.getBucketVersioningConfiguration(bucketName).getStatus(); if (!BucketVersioningConfiguration.ENABLED.equals(status)) { try { s3.setBucketVersioningConfiguration(new SetBucketVersioningConfigurationRequest(bucketName, new BucketVersioningConfiguration(BucketVersioningConfiguration.ENABLED))); } catch (SdkClientException e) {
/** * Creates a new bucket versioning configuration object which defaults to * {@link #OFF} status. */ public BucketVersioningConfiguration() { setStatus(OFF); }
@Override public void setBucketVersioningConfiguration(SetBucketVersioningConfigurationRequest setBucketVersioningConfigurationRequest) throws SdkClientException, AmazonServiceException { setBucketVersioningConfigurationRequest = beforeClientExecution(setBucketVersioningConfigurationRequest); rejectNull(setBucketVersioningConfigurationRequest, "The SetBucketVersioningConfigurationRequest object must be specified when setting versioning configuration"); String bucketName = setBucketVersioningConfigurationRequest.getBucketName(); BucketVersioningConfiguration versioningConfiguration = setBucketVersioningConfigurationRequest.getVersioningConfiguration(); rejectNull(bucketName, "The bucket name parameter must be specified when setting versioning configuration"); rejectNull(versioningConfiguration, "The bucket versioning parameter must be specified when setting versioning configuration"); if (versioningConfiguration.isMfaDeleteEnabled() != null) { rejectNull(setBucketVersioningConfigurationRequest.getMfa(), "The MFA parameter must be specified when changing MFA Delete status in the versioning configuration"); } Request<SetBucketVersioningConfigurationRequest> request = createRequest(bucketName, null, setBucketVersioningConfigurationRequest, HttpMethodName.PUT); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "PutBucketVersioning"); request.addParameter("versioning", null); if (versioningConfiguration.isMfaDeleteEnabled() != null) { if (setBucketVersioningConfigurationRequest.getMfa() != null) { populateRequestWithMfaDetails(request, setBucketVersioningConfigurationRequest.getMfa()); } } byte[] bytes = bucketConfigurationXmlFactory.convertToXmlByteArray(versioningConfiguration); request.setContent(new ByteArrayInputStream(bytes)); invoke(request, voidResponseHandler, bucketName, null); }
public static boolean checkBucketIsVersioned(String bucketName, AWSClientFactory awsClientFactory) { final BucketVersioningConfiguration bucketVersioningConfig = awsClientFactory.getS3Client().getBucketVersioningConfiguration(bucketName); return bucketVersioningConfig.getStatus().equals(BucketVersioningConfiguration.ENABLED); }
/** * Sets the status of Multi-Factor Authentication (MFA) Delete for a bucket, * and returns this object so that additional method calls may be chained * together. When MFA Delete is enabled, object versions can only be * permanently deleted when the bucket owner passes in, as part of a delete * version request, an MFA token from the hardware token generator associated * with their AWS account. * <p> * By default, MFA Delete is <b>not</b> enabled. * <p> * When enabling or disabling MFA Delete controls, you <b>must</b> also * supply an MFA token from the hardware token generator as part of the * request. * * @param mfaDeleteEnabled * True if the Multi-Factor Authentication (MFA) Delete is being * enabled enabled, false if it is being disabled. * * @return The updated S3BucketVersioningConfiguration object so that * additional method calls may be chained together. */ public BucketVersioningConfiguration withMfaDeleteEnabled(Boolean mfaDeleteEnabled) { setMfaDeleteEnabled(mfaDeleteEnabled); return this; }
private void createBucket(String bucket, boolean withVersioning) { try { s3.createBucket(bucket); } catch (AmazonServiceException e) { if (!e.getErrorCode().equals("BucketAlreadyExists")) throw e; } if (withVersioning) { s3.setBucketVersioningConfiguration(new SetBucketVersioningConfigurationRequest(bucket, new BucketVersioningConfiguration(BucketVersioningConfiguration.ENABLED))); } }
/** * Converts the specified versioning configuration into an XML byte array. * * @param versioningConfiguration The configuration to convert. * @return The XML byte array representation. */ public byte[] convertToXmlByteArray(BucketVersioningConfiguration versioningConfiguration) { final XmlWriter xml = new XmlWriter(); xml.start("VersioningConfiguration", "xmlns", Constants.XML_NAMESPACE); xml.start("Status").value(versioningConfiguration.getStatus()).end(); final Boolean mfaDeleteEnabled = versioningConfiguration.isMfaDeleteEnabled(); if (mfaDeleteEnabled != null) { if (mfaDeleteEnabled) { xml.start("MfaDelete").value("Enabled").end(); } else { xml.start("MfaDelete").value("Disabled").end(); } } xml.end(); return xml.getBytes(); }
bucketHasVersions = versionedStates.contains(versioningConfig.getStatus()); if (config.isIncludeVersions()) { s3.setBucketVersioningConfiguration(new SetBucketVersioningConfigurationRequest(config.getBucketName(), new BucketVersioningConfiguration(BucketVersioningConfiguration.ENABLED))); bucketHasVersions = true;
/** * Creates a new bucket versioning configuration object with the specified * status. * <p> * Note that once versioning has been enabled for a bucket, its status can * only be {@link #SUSPENDED suspended} and can never be set back to * {@link #OFF off}. * * @param status * The desired bucket versioning status for the new configuration * object. * * @see #ENABLED * @see #SUSPENDED */ public BucketVersioningConfiguration(String status) { setStatus(status); }
assertParameterNotNull(versioningConfiguration, "The bucket versioning parameter must be specified when setting versioning configuration"); if (versioningConfiguration.isMfaDeleteEnabled() != null) { assertParameterNotNull( setBucketVersioningConfigurationRequest.getMfa(), request.addParameter("versioning", null); if (versioningConfiguration.isMfaDeleteEnabled() != null) { if (setBucketVersioningConfigurationRequest.getMfa() != null) { populateRequestWithMfaDetails(request,
/** * Sets the status of Multi-Factor Authentication (MFA) Delete for a bucket, * and returns this object so that additional method calls may be chained * together. When MFA Delete is enabled, object versions can only be * permanently deleted when the bucket owner passes in, as part of a delete * version request, an MFA token from the hardware token generator * associated with their AWS account. * <p> * By default, MFA Delete is <b>not</b> enabled. * <p> * When enabling or disabling MFA Delete controls, you <b>must</b> also * supply an MFA token from the hardware token generator as part of the * request. * * @param mfaDeleteEnabled True if the Multi-Factor Authentication (MFA) * Delete is being enabled enabled, false if it is being * disabled. * @return The updated S3BucketVersioningConfiguration object so that * additional method calls may be chained together. */ public BucketVersioningConfiguration withMfaDeleteEnabled(Boolean mfaDeleteEnabled) { setMfaDeleteEnabled(mfaDeleteEnabled); return this; }
/** * Instantiates a new bucket VH. * * @param bucket the bucket * @param location the location * @param versionConfig the version config * @param tags the tags */ public BucketVH(Bucket bucket,String location,BucketVersioningConfiguration versionConfig, List<Tag> tags){ this.bucket = bucket; this.location = location; this.versionStatus = versionConfig==null?"":versionConfig.getStatus(); this.mfaDelete = versionConfig==null?null:versionConfig.isMfaDeleteEnabled(); this.tags = tags; } }
@Override protected void doEndElement(String uri, String name, String qName) { if (in("VersioningConfiguration")) { if (name.equals("Status")) { configuration.setStatus(getText()); } else if (name.equals("MfaDelete")) { final String mfaDeleteStatus = getText(); if (mfaDeleteStatus.equals("Disabled")) { configuration.setMfaDeleteEnabled(false); } else if (mfaDeleteStatus.equals("Enabled")) { configuration.setMfaDeleteEnabled(true); } else { configuration.setMfaDeleteEnabled(null); } } } } }
/** * Sets the desired status of versioning for this bucket versioning * configuration object, and returns this object so that additional method * calls may be chained together. * <p> * Note that once versioning has been enabled for a bucket, its status can * only be {@link #SUSPENDED suspended} and can never be set back to * {@link #OFF off}. * * @param status * The desired status of versioning for this bucket versioning * configuration. * * @return The updated S3BucketVersioningConfiguration object so that * additional method calls may be chained together. * * @see #ENABLED * @see #SUSPENDED */ public BucketVersioningConfiguration withStatus(String status) { setStatus(status); return this; }
if(configuration.isMfaDeleteEnabled()==null || !configuration.isMfaDeleteEnabled()){ annotation = Annotation.buildAnnotation(ruleParam,Annotation.Type.ISSUE); annotation.put(PacmanSdkConstants.DESCRIPTION,"S3 with no MFA delete enabled found!!");
/** * Sets the status of Multi-Factor Authentication (MFA) Delete for a bucket, * and returns this object so that additional method calls may be chained * together. When MFA Delete is enabled, object versions can only be * permanently deleted when the bucket owner passes in, as part of a delete * version request, an MFA token from the hardware token generator * associated with their AWS account. * <p> * By default, MFA Delete is <b>not</b> enabled. * <p> * When enabling or disabling MFA Delete controls, you <b>must</b> also * supply an MFA token from the hardware token generator as part of the * request. * * @param mfaDeleteEnabled True if the Multi-Factor Authentication (MFA) * Delete is being enabled enabled, false if it is being * disabled. * @return The updated S3BucketVersioningConfiguration object so that * additional method calls may be chained together. */ public BucketVersioningConfiguration withMfaDeleteEnabled(Boolean mfaDeleteEnabled) { setMfaDeleteEnabled(mfaDeleteEnabled); return this; }
/** * Converts the specified versioning configuration into an XML byte array. * * @param versioningConfiguration The configuration to convert. * @return The XML byte array representation. */ public byte[] convertToXmlByteArray(BucketVersioningConfiguration versioningConfiguration) { final XmlWriter xml = new XmlWriter(); xml.start("VersioningConfiguration", "xmlns", Constants.XML_NAMESPACE); xml.start("Status").value(versioningConfiguration.getStatus()).end(); final Boolean mfaDeleteEnabled = versioningConfiguration.isMfaDeleteEnabled(); if (mfaDeleteEnabled != null) { if (mfaDeleteEnabled) { xml.start("MfaDelete").value("Enabled").end(); } else { xml.start("MfaDelete").value("Disabled").end(); } } xml.end(); return xml.getBytes(); }
@Override protected void doEndElement(String uri, String name, String qName) { if (in("VersioningConfiguration")) { if (name.equals("Status")) { configuration.setStatus(getText()); } else if (name.equals("MfaDelete")) { final String mfaDeleteStatus = getText(); if (mfaDeleteStatus.equals("Disabled")) { configuration.setMfaDeleteEnabled(false); } else if (mfaDeleteStatus.equals("Enabled")) { configuration.setMfaDeleteEnabled(true); } else { configuration.setMfaDeleteEnabled(null); } } } } }