|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jets3t.service.CloudFrontService
public class CloudFrontService
A service that handles communication with the Amazon CloudFront REST API, offering all the operations that can be performed on CloudFront distributions.
This class uses properties obtained through Jets3tProperties
. For more information on
these properties please refer to
JetS3t Configuration
Field Summary | |
---|---|
static String |
DEFAULT_BUCKET_SUFFIX
|
static String |
ENDPOINT
|
static String |
ORIGIN_ACCESS_IDENTITY_PREFIX
|
static String |
ORIGIN_ACCESS_IDENTITY_URI_PATH
|
static String |
VERSION
|
static String |
XML_NAMESPACE
|
Constructor Summary | |
---|---|
CloudFrontService(AWSCredentials awsCredentials)
Constructs the service with default properties. |
|
CloudFrontService(AWSCredentials awsCredentials,
String invokingApplicationDescription,
org.apache.commons.httpclient.auth.CredentialsProvider credentialsProvider,
Jets3tProperties jets3tProperties,
org.apache.commons.httpclient.HostConfiguration hostConfig)
Constructs the service and initialises its properties. |
Method Summary | |
---|---|
void |
authorizeHttpRequest(org.apache.commons.httpclient.HttpMethod httpMethod)
Sign the given HTTP method object using the AWS credentials provided by getAWSCredentials() . |
static String |
buildPolicyForSignedUrl(String resourcePath,
Date epochDateLessThan,
String limitToIpAddressCIDR,
Date epochDateGreaterThan)
Generate a policy document that describes custom access permissions to apply via a private distribution's signed URL. |
Distribution |
createDistribution(DistributionConfig config)
Create a public or private CloudFront distribution for an S3 bucket based on a pre-configured DistributionConfig . |
Distribution |
createDistribution(String origin)
Create a minimally-configured CloudFront distribution for an S3 bucket that will be publicly available once created. |
Distribution |
createDistribution(String origin,
String callerReference,
String[] cnames,
String comment,
boolean enabled,
LoggingStatus loggingStatus)
Create a public CloudFront distribution for an S3 bucket. |
Distribution |
createDistribution(String origin,
String callerReference,
String[] cnames,
String comment,
boolean enabled,
LoggingStatus loggingStatus,
String originAccessIdentityId,
boolean trustedSignerSelf,
String[] trustedSignerAwsAccountNumbers,
String[] requiredProtocols)
Create a public or private CloudFront distribution for an S3 bucket. |
OriginAccessIdentity |
createOriginAccessIdentity(String callerReference,
String comment)
Create a new Origin Access Identity |
StreamingDistribution |
createStreamingDistribution(String origin,
String callerReference,
String[] cnames,
String comment,
boolean enabled,
LoggingStatus loggingStatus)
Create a public streaming CloudFront distribution for an S3 bucket. |
StreamingDistribution |
createStreamingDistribution(String origin,
String callerReference,
String[] cnames,
String comment,
boolean enabled,
LoggingStatus loggingStatus,
String originAccessIdentityId,
boolean trustedSignerSelf,
String[] trustedSignerAwsAccountNumbers)
Create a public or private streaming CloudFront distribution for an S3 bucket. |
void |
deleteDistribution(String id)
Delete a disabled distribution. |
void |
deleteOriginAccessIdentity(String id)
Delete an Origin Access Identity. |
void |
deleteStreamingDistribution(String id)
Delete a disabled streaming distribution. |
void |
disableDistributionForDeletion(String id)
Convenience method to disable a distribution that you intend to delete. |
void |
disableStreamingDistributionForDeletion(String id)
Convenience method to disable a streaming distribution that you intend to delete. |
AWSCredentials |
getAWSCredentials()
|
DistributionConfig |
getDistributionConfig(String id)
Lookup configuration information for a standard distribution. |
Distribution |
getDistributionInfo(String id)
Lookup information for a standard distribution. |
OriginAccessIdentity |
getOriginAccessIdentity(String id)
Obtain the complete properties of an Origin Access Identity. |
OriginAccessIdentityConfig |
getOriginAccessIdentityConfig(String id)
Obtain the configuration properties of an Origin Access Identity. |
List |
getOriginAccessIdentityList()
List the Origin Access Identities in a CloudFront account. |
StreamingDistributionConfig |
getStreamingDistributionConfig(String id)
Lookup configuration information for a streaming distribution. |
StreamingDistribution |
getStreamingDistributionInfo(String id)
Lookup information for a streaming distribution. |
Distribution[] |
listDistributions()
List all your standard CloudFront distributions. |
Distribution[] |
listDistributions(int pagingSize)
List all your standard CloudFront distributions, with a given maximum number of Distribution items in each "page" of results. |
Distribution[] |
listDistributions(String bucketName)
List the distributions whose origin is the given S3 bucket name. |
List |
listDistributionsByBucketName(boolean isStreaming,
String bucketName)
List streaming or non-stream distributions whose origin is the given S3 bucket name. |
StreamingDistribution[] |
listStreamingDistributions()
List all your standard CloudFront distributions. |
StreamingDistribution[] |
listStreamingDistributions(int pagingSize)
List all your streaming CloudFront distributions, with a given maximum number of Distribution items in each "page" of results. |
StreamingDistribution[] |
listStreamingDistributions(String bucketName)
List the streaming distributions whose origin is the given S3 bucket name. |
static String |
sanitizeS3BucketName(String proposedBucketName)
Sanitizes a proposed bucket name to ensure it is fully-specified rather than merely the bucket's short name. |
static String |
signUrl(String domainName,
String s3ObjectKey,
String keyPairId,
byte[] derPrivateKey,
String policy)
Generate a signed URL that allows access to distribution and S3 objects by applying access restrictions specified in a custom policy document. |
static String |
signUrlCanned(String domainName,
String s3ObjectKey,
String keyPairId,
byte[] derPrivateKey,
Date epochDateLessThan)
Generate a signed URL that allows access to a specific distribution and S3 object by applying a access restrictions from a "canned" (simplified) policy document. |
DistributionConfig |
updateDistributionConfig(String id,
DistributionConfig config)
Update the configuration of an existing distribution to change its properties or public/private status. |
DistributionConfig |
updateDistributionConfig(String id,
String[] cnames,
String comment,
boolean enabled,
LoggingStatus loggingStatus)
Update the configuration of an existing distribution to change its properties. |
DistributionConfig |
updateDistributionConfig(String id,
String[] cnames,
String comment,
boolean enabled,
LoggingStatus loggingStatus,
String originAccessIdentityId,
boolean trustedSignerSelf,
String[] trustedSignerAwsAccountNumbers,
String[] requiredProtocols)
Update the configuration of an existing distribution to change its properties or public/private status. |
OriginAccessIdentityConfig |
updateOriginAccessIdentityConfig(String id,
String comment)
Update the properties of an Origin Access Identity. |
StreamingDistributionConfig |
updateStreamingDistributionConfig(String id,
String[] cnames,
String comment,
boolean enabled,
LoggingStatus loggingStatus)
Update the configuration of an existing streaming distribution to change its properties. |
StreamingDistributionConfig |
updateStreamingDistributionConfig(String id,
String[] cnames,
String comment,
boolean enabled,
LoggingStatus loggingStatus,
String originAccessIdentityId,
boolean trustedSignerSelf,
String[] trustedSignerAwsAccountNumbers)
Update the configuration of an existing streaming distribution to change its properties. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final String ENDPOINT
public static final String VERSION
public static final String XML_NAMESPACE
public static final String DEFAULT_BUCKET_SUFFIX
public static final String ORIGIN_ACCESS_IDENTITY_URI_PATH
public static final String ORIGIN_ACCESS_IDENTITY_PREFIX
Constructor Detail |
---|
public CloudFrontService(AWSCredentials awsCredentials, String invokingApplicationDescription, org.apache.commons.httpclient.auth.CredentialsProvider credentialsProvider, Jets3tProperties jets3tProperties, org.apache.commons.httpclient.HostConfiguration hostConfig) throws CloudFrontServiceException
awsCredentials
- the AWS user credentials to use when communicating with CloudFrontinvokingApplicationDescription
- a short description of the application using the service, suitable for inclusion in a
user agent string for REST/HTTP requests. Ideally this would include the application's
version number, for example: Cockpit/0.7.3
or My App Name/1.0
.
May be null.credentialsProvider
- an implementation of the HttpClient CredentialsProvider interface, to provide a means for
prompting for credentials when necessary. May be null.jets3tProperties
- JetS3t properties that will be applied within this service. May be null.hostConfig
- Custom HTTP host configuration; e.g to register a custom Protocol Socket Factory.
May be null.
CloudFrontServiceException
public CloudFrontService(AWSCredentials awsCredentials) throws CloudFrontServiceException
awsCredentials
- the AWS user credentials to use when communicating with CloudFront
CloudFrontServiceException
Method Detail |
---|
public AWSCredentials getAWSCredentials()
public void authorizeHttpRequest(org.apache.commons.httpclient.HttpMethod httpMethod) throws Exception
getAWSCredentials()
.
authorizeHttpRequest
in interface AWSRequestAuthorizer
httpMethod
- the request object
Exception
public Distribution[] listDistributions(int pagingSize) throws CloudFrontServiceException
pagingSize
- the maximum number of distributions the CloudFront service will
return in each response message.
CloudFrontServiceException
public StreamingDistribution[] listStreamingDistributions(int pagingSize) throws CloudFrontServiceException
pagingSize
- the maximum number of distributions the CloudFront service will
return in each response message.
CloudFrontServiceException
public Distribution[] listDistributions() throws CloudFrontServiceException
CloudFrontServiceException
public StreamingDistribution[] listStreamingDistributions() throws CloudFrontServiceException
CloudFrontServiceException
public List listDistributionsByBucketName(boolean isStreaming, String bucketName) throws CloudFrontServiceException
bucketName
- the name of the S3 bucket whose distributions will be returned.
CloudFrontServiceException
public Distribution[] listDistributions(String bucketName) throws CloudFrontServiceException
bucketName
- the name of the S3 bucket whose distributions will be returned.
CloudFrontServiceException
public StreamingDistribution[] listStreamingDistributions(String bucketName) throws CloudFrontServiceException
bucketName
- the name of the S3 bucket whose distributions will be returned.
CloudFrontServiceException
public Distribution createDistribution(String origin, String callerReference, String[] cnames, String comment, boolean enabled, LoggingStatus loggingStatus, String originAccessIdentityId, boolean trustedSignerSelf, String[] trustedSignerAwsAccountNumbers, String[] requiredProtocols) throws CloudFrontServiceException
origin
- the Amazon S3 bucket to associate with the distribution, specified as a full
S3 sub-domain path (e.g. 'jets3t.s3.amazonaws.com' for the 'jets3t' bucket)callerReference
- A user-set unique reference value that ensures the request can't be replayed
(max UTF-8 encoding size 128 bytes). This parameter may be null, in which
case your computer's local epoch time in milliseconds will be used.cnames
- A list of up to 10 CNAME aliases to associate with the distribution. This
parameter may be a null or empty array.comment
- An optional comment to describe the distribution in your own terms
(max 128 characters). May be null.enabled
- Should the distribution should be enabled and publicly accessible upon creation?loggingStatus
- Logging status settings (bucket, prefix) for the distribution. If this value
is null, logging will be disabled for the distribution.originAccessIdentityId
- Identifier of the origin access identity that can authorize access to
S3 objects via a private distribution. If provided the distribution will be
private, if null the distribution will be be public.trustedSignerSelf
- If true the owner of the distribution (you) will be be allowed to generate
signed URLs for a private distribution. Note: If either trustedSignerSelf or
trustedSignerAwsAccountNumbers parameters are provided the private distribution
will require signed URLs to access content.trustedSignerAwsAccountNumbers
- Account Number identifiers for AWS account holders other than the
distribution's owner who will be allowed to generate signed URLs for a private
distribution. If null or empty, no additional AWS account holders may generate
signed URLs. Note: If either trustedSignerSelf or
trustedSignerAwsAccountNumbers parameters are provided the private distribution
will require signed URLs to access content.requiredProtocols
- List of protocols that must be used by clients to retrieve content from the
distribution. If this value is null or is an empty array, all protocols will be
supported.
CloudFrontServiceException
public Distribution createDistribution(String origin) throws CloudFrontServiceException
origin
- the Amazon S3 bucket to associate with the distribution, specified as a full
S3 sub-domain path (e.g. 'jets3t.s3.amazonaws.com' for the 'jets3t' bucket)
CloudFrontServiceException
public Distribution createDistribution(String origin, String callerReference, String[] cnames, String comment, boolean enabled, LoggingStatus loggingStatus) throws CloudFrontServiceException
origin
- the Amazon S3 bucket to associate with the distribution, specified as a full
S3 sub-domain path (e.g. 'jets3t.s3.amazonaws.com' for the 'jets3t' bucket)callerReference
- A user-set unique reference value that ensures the request can't be replayed
(max UTF-8 encoding size 128 bytes). This parameter may be null, in which
case your computer's local epoch time in milliseconds will be used.cnames
- A list of up to 10 CNAME aliases to associate with the distribution. This
parameter may be a null or empty array.comment
- An optional comment to describe the distribution in your own terms
(max 128 characters). May be null.enabled
- Should the distribution should be enabled and publicly accessible upon creation?loggingStatus
- Logging status settings (bucket, prefix) for the distribution. If this value
is null, logging will be disabled for the distribution.
CloudFrontServiceException
public Distribution createDistribution(DistributionConfig config) throws CloudFrontServiceException
DistributionConfig
.
config
- Configuration settings to apply to the distribution.
CloudFrontServiceException
public StreamingDistribution createStreamingDistribution(String origin, String callerReference, String[] cnames, String comment, boolean enabled, LoggingStatus loggingStatus, String originAccessIdentityId, boolean trustedSignerSelf, String[] trustedSignerAwsAccountNumbers) throws CloudFrontServiceException
origin
- the Amazon S3 bucket to associate with the distribution, specified as a full
S3 sub-domain path (e.g. 'jets3t.s3.amazonaws.com' for the 'jets3t' bucket)callerReference
- A user-set unique reference value that ensures the request can't be replayed
(max UTF-8 encoding size 128 bytes). This parameter may be null, in which
case your computer's local epoch time in milliseconds will be used.cnames
- A list of up to 10 CNAME aliases to associate with the distribution. This
parameter may be a null or empty array.comment
- An optional comment to describe the distribution in your own terms
(max 128 characters). May be null.enabled
- Should the distribution should be enabled and publicly accessible upon creation?loggingStatus
- Logging status settings (bucket, prefix) for the distribution. If this value
is null, logging will be disabled for the distribution.originAccessIdentityId
- Identifier of the origin access identity that can authorize access to
S3 objects via a private distribution. If provided the distribution will be
private, if null the distribution will be be public.trustedSignerSelf
- If true the owner of the distribution (you) will be be allowed to generate
signed URLs for a private distribution. Note: If either trustedSignerSelf or
trustedSignerAwsAccountNumbers parameters are provided the private distribution
will require signed URLs to access content.trustedSignerAwsAccountNumbers
- Account Number identifiers for AWS account holders other than the
distribution's owner who will be allowed to generate signed URLs for a private
distribution. If null or empty, no additional AWS account holders may generate
signed URLs. Note: If either trustedSignerSelf or
trustedSignerAwsAccountNumbers parameters are provided the private distribution
will require signed URLs to access content.
CloudFrontServiceException
public StreamingDistribution createStreamingDistribution(String origin, String callerReference, String[] cnames, String comment, boolean enabled, LoggingStatus loggingStatus) throws CloudFrontServiceException
origin
- the Amazon S3 bucket to associate with the distribution, specified as a full
S3 sub-domain path (e.g. 'jets3t.s3.amazonaws.com' for the 'jets3t' bucket)callerReference
- A user-set unique reference value that ensures the request can't be replayed
(max UTF-8 encoding size 128 bytes). This parameter may be null, in which
case your computer's local epoch time in milliseconds will be used.cnames
- A list of up to 10 CNAME aliases to associate with the distribution. This
parameter may be a null or empty array.comment
- An optional comment to describe the distribution in your own terms
(max 128 characters). May be null.enabled
- Should the distribution should be enabled and publicly accessible upon creation?loggingStatus
- Logging status settings (bucket, prefix) for the distribution. If this value
is null, logging will be disabled for the distribution.
CloudFrontServiceException
public Distribution getDistributionInfo(String id) throws CloudFrontServiceException
id
- the distribution's unique identifier.
CloudFrontServiceException
public StreamingDistribution getStreamingDistributionInfo(String id) throws CloudFrontServiceException
id
- the distribution's unique identifier.
CloudFrontServiceException
public DistributionConfig getDistributionConfig(String id) throws CloudFrontServiceException
getDistributionInfo(String)
method.
id
- the distribution's unique identifier.
CloudFrontServiceException
public StreamingDistributionConfig getStreamingDistributionConfig(String id) throws CloudFrontServiceException
getDistributionInfo(String)
method.
id
- the distribution's unique identifier.
CloudFrontServiceException
public DistributionConfig updateDistributionConfig(String id, String[] cnames, String comment, boolean enabled, LoggingStatus loggingStatus, String originAccessIdentityId, boolean trustedSignerSelf, String[] trustedSignerAwsAccountNumbers, String[] requiredProtocols) throws CloudFrontServiceException
This method performs all the steps necessary to update the configuration. It
first performs lookup on the distribution using
getDistributionConfig(String)
to find its origin and caller reference
values, then uses this information to apply your configuration changes.
id
- the distribution's unique identifier.cnames
- A list of up to 10 CNAME aliases to associate with the distribution. This
parameter may be null, in which case the original CNAME aliases are retained.comment
- An optional comment to describe the distribution in your own terms
(max 128 characters). May be null, in which case the original comment is retained.enabled
- Should the distribution should be enabled and publicly accessible after the
configuration update?loggingStatus
- Logging status settings (bucket, prefix) for the distribution. If this value
is null, logging will be disabled for the distribution.originAccessIdentityId
- Identifier of the origin access identity that can authorize access to
S3 objects via a private distribution. If provided the distribution will be
private, if null the distribution will be be public.trustedSignerSelf
- If true the owner of the distribution (you) will be be allowed to generate
signed URLs for a private distribution. Note: If either trustedSignerSelf or
trustedSignerAwsAccountNumbers parameters are provided the private distribution
will require signed URLs to access content.trustedSignerAwsAccountNumbers
- Account Number identifiers for AWS account holders other than the
distribution's owner who will be allowed to generate signed URLs for a private
distribution. If null or empty, no additional AWS account holders may generate
signed URLs. Note: If either trustedSignerSelf or
trustedSignerAwsAccountNumbers parameters are provided the private distribution
will require signed URLs to access content.requiredProtocols
- List of protocols that must be used by clients to retrieve content from the
distribution. If this value is null or is an empty array all protocols will be
permitted.
CloudFrontServiceException
public StreamingDistributionConfig updateStreamingDistributionConfig(String id, String[] cnames, String comment, boolean enabled, LoggingStatus loggingStatus) throws CloudFrontServiceException
This method performs all the steps necessary to update the configuration. It
first performs lookup on the distribution using
getDistributionConfig(String)
to find its origin and caller reference
values, then uses this information to apply your configuration changes.
id
- the distribution's unique identifier.cnames
- A list of up to 10 CNAME aliases to associate with the distribution. This
parameter may be null, in which case the original CNAME aliases are retained.comment
- An optional comment to describe the distribution in your own terms
(max 128 characters). May be null, in which case the original comment is retained.enabled
- Should the distribution should be enabled and publicly accessible after the
configuration update?loggingStatus
- Logging status settings (bucket, prefix) for the distribution. If this value
is null, logging will be disabled for the distribution.
CloudFrontServiceException
public StreamingDistributionConfig updateStreamingDistributionConfig(String id, String[] cnames, String comment, boolean enabled, LoggingStatus loggingStatus, String originAccessIdentityId, boolean trustedSignerSelf, String[] trustedSignerAwsAccountNumbers) throws CloudFrontServiceException
This method performs all the steps necessary to update the configuration. It
first performs lookup on the distribution using
getDistributionConfig(String)
to find its origin and caller reference
values, then uses this information to apply your configuration changes.
id
- the distribution's unique identifier.cnames
- A list of up to 10 CNAME aliases to associate with the distribution. This
parameter may be null, in which case the original CNAME aliases are retained.comment
- An optional comment to describe the distribution in your own terms
(max 128 characters). May be null, in which case the original comment is retained.enabled
- Should the distribution should be enabled and publicly accessible after the
configuration update?loggingStatus
- Logging status settings (bucket, prefix) for the distribution. If this value
is null, logging will be disabled for the distribution.originAccessIdentityId
- Identifier of the origin access identity that can authorize access to
S3 objects via a private distribution. If provided the distribution will be
private, if null the distribution will be be public.trustedSignerSelf
- If true the owner of the distribution (you) will be be allowed to generate
signed URLs for a private distribution. Note: If either trustedSignerSelf or
trustedSignerAwsAccountNumbers parameters are provided the private distribution
will require signed URLs to access content.trustedSignerAwsAccountNumbers
- Account Number identifiers for AWS account holders other than the
distribution's owner who will be allowed to generate signed URLs for a private
distribution. If null or empty, no additional AWS account holders may generate
signed URLs. Note: If either trustedSignerSelf or
trustedSignerAwsAccountNumbers parameters are provided the private distribution
will require signed URLs to access content.
CloudFrontServiceException
public DistributionConfig updateDistributionConfig(String id, String[] cnames, String comment, boolean enabled, LoggingStatus loggingStatus) throws CloudFrontServiceException
This method performs all the steps necessary to update the configuration. It
first performs lookup on the distribution using
getDistributionConfig(String)
to find its origin and caller reference
values, then uses this information to apply your configuration changes.
id
- the distribution's unique identifier.cnames
- A list of up to 10 CNAME aliases to associate with the distribution. This
parameter may be null, in which case the original CNAME aliases are retained.comment
- An optional comment to describe the distribution in your own terms
(max 128 characters). May be null, in which case the original comment is retained.enabled
- Should the distribution should be enabled and publicly accessible after the
configuration update?loggingStatus
- Logging status settings (bucket, prefix) for the distribution. If this value
is null, logging will be disabled for the distribution.
CloudFrontServiceException
public DistributionConfig updateDistributionConfig(String id, DistributionConfig config) throws CloudFrontServiceException
This method performs all the steps necessary to update the configuration. It
first performs lookup on the distribution using
getDistributionConfig(String)
to find its origin and caller reference
values, then uses this information to apply your configuration changes.
id
- the distribution's unique identifier.config
- Configuration properties to apply to the distribution.
CloudFrontServiceException
public void disableDistributionForDeletion(String id) throws CloudFrontServiceException
updateDistributionConfig(String, String[], String, boolean, LoggingStatus)
method with default values for most of the distribution's configuration
settings.
Warning: Do not use this method on distributions you intend to keep, because it will reset most of the distribution's configuration settings such as CNAMEs and logging status.
id
- the distribution's unique identifier.
CloudFrontServiceException
public void disableStreamingDistributionForDeletion(String id) throws CloudFrontServiceException
updateStreamingDistributionConfig(String, String[], String, boolean, LoggingStatus)
method with default values for most of the distribution's configuration
settings.
Warning: Do not use this method on distributions you intend to keep, because it will reset most of the distribution's configuration settings such as CNAMEs and logging status.
id
- the distribution's unique identifier.
CloudFrontServiceException
public void deleteDistribution(String id) throws CloudFrontServiceException
This method performs many of the steps necessary to delete a disabled
distribution. It first performs lookup on the distribution using
getDistributionConfig(String)
to find its ETag value, then uses
this information to delete the distribution.
Because it can take a long time (minutes) to disable a distribution, this task is not performed automatically by this method. In your own code, you need to verify that a distribution is disabled with a status of Deployed before you invoke this method.
id
- the distribution's unique identifier.
CloudFrontServiceException
public void deleteStreamingDistribution(String id) throws CloudFrontServiceException
This method performs many of the steps necessary to delete a disabled
distribution. It first performs lookup on the distribution using
getDistributionConfig(String)
to find its ETag value, then uses
this information to delete the distribution.
Because it can take a long time (minutes) to disable a distribution, this task is not performed automatically by this method. In your own code, you need to verify that a distribution is disabled with a status of Deployed before you invoke this method.
id
- the distribution's unique identifier.
CloudFrontServiceException
public OriginAccessIdentity createOriginAccessIdentity(String callerReference, String comment) throws CloudFrontServiceException
callerReference
- A user-set unique reference value that ensures the request can't be replayed
(max UTF-8 encoding size 128 bytes). This parameter may be null, in which
case your computer's local epoch time in milliseconds will be used.comment
- An optional comment to describe the identity (max 128 characters). May be null.
CloudFrontServiceException
public List getOriginAccessIdentityList() throws CloudFrontServiceException
OriginAccessIdentity
objects describing the identities.
CloudFrontServiceException
public OriginAccessIdentity getOriginAccessIdentity(String id) throws CloudFrontServiceException
id
- The identifier of the Origin Access Identity.
CloudFrontServiceException
public OriginAccessIdentityConfig getOriginAccessIdentityConfig(String id) throws CloudFrontServiceException
id
- The identifier of the Origin Access Identity.
CloudFrontServiceException
public OriginAccessIdentityConfig updateOriginAccessIdentityConfig(String id, String comment) throws CloudFrontServiceException
id
- The identifier of the Origin Access Identity.comment
- A new comment to apply to the identity.
CloudFrontServiceException
public void deleteOriginAccessIdentity(String id) throws CloudFrontServiceException
id
- The identifier of the Origin Access Identity.
CloudFrontServiceException
public static String sanitizeS3BucketName(String proposedBucketName)
proposedBucketName
- the proposed S3 bucket name that will be sanitized.
DEFAULT_BUCKET_SUFFIX
added, if necessary.public static String buildPolicyForSignedUrl(String resourcePath, Date epochDateLessThan, String limitToIpAddressCIDR, Date epochDateGreaterThan) throws CloudFrontServiceException
resourcePath
- An optional resource path that restricts which distribution and S3 objects will be
accessible in a signed URL. The '*' and '?' characters can be used as a wildcards
to allow multi-character or single-character matches respectively:
epochDateLessThan
- The time and date when the signed URL will expire. REQUIRED.limitToIpAddressCIDR
- An optional range of client IP addresses that will be allowed to access the distribution,
specified as a CIDR range. If null, the CIDR will be 0.0.0.0/0 and any
client will be permitted.epochDateGreaterThan
- An optional time and date when the signed URL will become active. If null, the signed
URL will be active as soon as it is created.
CloudFrontServiceException
public static String signUrl(String domainName, String s3ObjectKey, String keyPairId, byte[] derPrivateKey, String policy) throws CloudFrontServiceException
domainName
- The distribution's domain name, e.g.
a1b2c3d4e5f6g7.cloudfront.net/path/to/object.txts3ObjectKey
- Key name of the S3 object that will be made accessible through the signed URL.keyPairId
- Identifier of a public/private certificate keypair already configured in your
Amazon Web Services account.derPrivateKey
- The RSA private key data that corresponding to the certificate keypair identified by
keyPairId, in DER format. To convert a standard PEM private key file into this format
use the utility method EncryptionUtil.convertRsaPemToDer(java.io.InputStream)
policy
- A policy document that describes the access permissions that will be applied by the
signed URL. To generate a custom policy use
buildPolicyForSignedUrl(String, Date, String, Date)
.
CloudFrontServiceException
public static String signUrlCanned(String domainName, String s3ObjectKey, String keyPairId, byte[] derPrivateKey, Date epochDateLessThan) throws CloudFrontServiceException
domainName
- The distribution's domain name, e.g.
a1b2c3d4e5f6g7.cloudfront.net/path/to/object.txts3ObjectKey
- Key name of the S3 object that will be made accessible through the signed URL.keyPairId
- Identifier of a public/private certificate keypair already configured in your
Amazon Web Services account.derPrivateKey
- The RSA private key data that corresponding to the certificate keypair identified by
keyPairId, in DER format. To convert a standard PEM private key file into this format
use the utility method EncryptionUtil.convertRsaPemToDer(java.io.InputStream)
epochDateLessThan
- The time and date when the signed URL will expire. REQUIRED.
CloudFrontServiceException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |