mediastore

package module
v0.29.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 31, 2020 License: Apache-2.0 Imports: 26 Imported by: 24

Documentation

Overview

Package mediastore provides the API client, operations, and parameter types for AWS Elemental MediaStore.

An AWS Elemental MediaStore container is a namespace that holds folders and objects. You use a container endpoint to create, read, and delete objects.

Index

Constants

View Source
const ServiceAPIVersion = "2017-09-01"
View Source
const ServiceID = "MediaStore"

Variables

This section is empty.

Functions

func NewDefaultEndpointResolver

func NewDefaultEndpointResolver() *internalendpoints.Resolver

NewDefaultEndpointResolver constructs a new service endpoint resolver

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client provides the API client to make operations call for AWS Elemental MediaStore.

func New

func New(options Options, optFns ...func(*Options)) *Client

New returns an initialized Client based on the functional options. Provide additional functional options to further configure the behavior of the client, such as changing the client's endpoint or adding custom middleware behavior.

func NewFromConfig

func NewFromConfig(cfg aws.Config, optFns ...func(*Options)) *Client

NewFromConfig returns a new client from the provided config.

func (*Client) CreateContainer

func (c *Client) CreateContainer(ctx context.Context, params *CreateContainerInput, optFns ...func(*Options)) (*CreateContainerOutput, error)

Creates a storage container to hold objects. A container is similar to a bucket in the Amazon S3 service.

func (*Client) DeleteContainer

func (c *Client) DeleteContainer(ctx context.Context, params *DeleteContainerInput, optFns ...func(*Options)) (*DeleteContainerOutput, error)

Deletes the specified container. Before you make a DeleteContainer request, delete any objects in the container or in any folders in the container. You can delete only empty containers.

func (*Client) DeleteContainerPolicy

func (c *Client) DeleteContainerPolicy(ctx context.Context, params *DeleteContainerPolicyInput, optFns ...func(*Options)) (*DeleteContainerPolicyOutput, error)

Deletes the access policy that is associated with the specified container.

func (*Client) DeleteCorsPolicy

func (c *Client) DeleteCorsPolicy(ctx context.Context, params *DeleteCorsPolicyInput, optFns ...func(*Options)) (*DeleteCorsPolicyOutput, error)

Deletes the cross-origin resource sharing (CORS) configuration information that is set for the container. To use this operation, you must have permission to perform the MediaStore:DeleteCorsPolicy action. The container owner has this permission by default and can grant this permission to others.

func (*Client) DeleteLifecyclePolicy

func (c *Client) DeleteLifecyclePolicy(ctx context.Context, params *DeleteLifecyclePolicyInput, optFns ...func(*Options)) (*DeleteLifecyclePolicyOutput, error)

Removes an object lifecycle policy from a container. It takes up to 20 minutes for the change to take effect.

func (*Client) DeleteMetricPolicy

func (c *Client) DeleteMetricPolicy(ctx context.Context, params *DeleteMetricPolicyInput, optFns ...func(*Options)) (*DeleteMetricPolicyOutput, error)

Deletes the metric policy that is associated with the specified container. If there is no metric policy associated with the container, MediaStore doesn't send metrics to CloudWatch.

func (*Client) DescribeContainer

func (c *Client) DescribeContainer(ctx context.Context, params *DescribeContainerInput, optFns ...func(*Options)) (*DescribeContainerOutput, error)

Retrieves the properties of the requested container. This request is commonly used to retrieve the endpoint of a container. An endpoint is a value assigned by the service when a new container is created. A container's endpoint does not change after it has been assigned. The DescribeContainer request returns a single Container object based on ContainerName. To return all Container objects that are associated with a specified AWS account, use ListContainers.

func (*Client) GetContainerPolicy

func (c *Client) GetContainerPolicy(ctx context.Context, params *GetContainerPolicyInput, optFns ...func(*Options)) (*GetContainerPolicyOutput, error)

Retrieves the access policy for the specified container. For information about the data that is included in an access policy, see the AWS Identity and Access Management User Guide (https://aws.amazon.com/documentation/iam/).

func (*Client) GetCorsPolicy

func (c *Client) GetCorsPolicy(ctx context.Context, params *GetCorsPolicyInput, optFns ...func(*Options)) (*GetCorsPolicyOutput, error)

Returns the cross-origin resource sharing (CORS) configuration information that is set for the container. To use this operation, you must have permission to perform the MediaStore:GetCorsPolicy action. By default, the container owner has this permission and can grant it to others.

func (*Client) GetLifecyclePolicy

func (c *Client) GetLifecyclePolicy(ctx context.Context, params *GetLifecyclePolicyInput, optFns ...func(*Options)) (*GetLifecyclePolicyOutput, error)

Retrieves the object lifecycle policy that is assigned to a container.

func (*Client) GetMetricPolicy

func (c *Client) GetMetricPolicy(ctx context.Context, params *GetMetricPolicyInput, optFns ...func(*Options)) (*GetMetricPolicyOutput, error)

Returns the metric policy for the specified container.

func (*Client) ListContainers

func (c *Client) ListContainers(ctx context.Context, params *ListContainersInput, optFns ...func(*Options)) (*ListContainersOutput, error)

Lists the properties of all containers in AWS Elemental MediaStore. You can query to receive all the containers in one response. Or you can include the MaxResults parameter to receive a limited number of containers in each response. In this case, the response includes a token. To get the next set of containers, send the command again, this time with the NextToken parameter (with the returned token as its value). The next set of responses appears, with a token if there are still more containers to receive. See also DescribeContainer, which gets the properties of one container.

func (*Client) ListTagsForResource

func (c *Client) ListTagsForResource(ctx context.Context, params *ListTagsForResourceInput, optFns ...func(*Options)) (*ListTagsForResourceOutput, error)

Returns a list of the tags assigned to the specified container.

func (*Client) PutContainerPolicy

func (c *Client) PutContainerPolicy(ctx context.Context, params *PutContainerPolicyInput, optFns ...func(*Options)) (*PutContainerPolicyOutput, error)

Creates an access policy for the specified container to restrict the users and clients that can access it. For information about the data that is included in an access policy, see the AWS Identity and Access Management User Guide (https://aws.amazon.com/documentation/iam/). For this release of the REST API, you can create only one policy for a container. If you enter PutContainerPolicy twice, the second command modifies the existing policy.

func (*Client) PutCorsPolicy

func (c *Client) PutCorsPolicy(ctx context.Context, params *PutCorsPolicyInput, optFns ...func(*Options)) (*PutCorsPolicyOutput, error)

Sets the cross-origin resource sharing (CORS) configuration on a container so that the container can service cross-origin requests. For example, you might want to enable a request whose origin is http://www.example.com to access your AWS Elemental MediaStore container at my.example.container.com by using the browser's XMLHttpRequest capability. To enable CORS on a container, you attach a CORS policy to the container. In the CORS policy, you configure rules that identify origins and the HTTP methods that can be executed on your container. The policy can contain up to 398,000 characters. You can add up to 100 rules to a CORS policy. If more than one rule applies, the service uses the first applicable rule listed. To learn more about CORS, see Cross-Origin Resource Sharing (CORS) in AWS Elemental MediaStore (https://docs.aws.amazon.com/mediastore/latest/ug/cors-policy.html).

func (*Client) PutLifecyclePolicy

func (c *Client) PutLifecyclePolicy(ctx context.Context, params *PutLifecyclePolicyInput, optFns ...func(*Options)) (*PutLifecyclePolicyOutput, error)

Writes an object lifecycle policy to a container. If the container already has an object lifecycle policy, the service replaces the existing policy with the new policy. It takes up to 20 minutes for the change to take effect. For information about how to construct an object lifecycle policy, see Components of an Object Lifecycle Policy (https://docs.aws.amazon.com/mediastore/latest/ug/policies-object-lifecycle-components.html).

func (*Client) PutMetricPolicy

func (c *Client) PutMetricPolicy(ctx context.Context, params *PutMetricPolicyInput, optFns ...func(*Options)) (*PutMetricPolicyOutput, error)

The metric policy that you want to add to the container. A metric policy allows AWS Elemental MediaStore to send metrics to Amazon CloudWatch. It takes up to 20 minutes for the new policy to take effect.

func (*Client) StartAccessLogging

func (c *Client) StartAccessLogging(ctx context.Context, params *StartAccessLoggingInput, optFns ...func(*Options)) (*StartAccessLoggingOutput, error)

Starts access logging on the specified container. When you enable access logging on a container, MediaStore delivers access logs for objects stored in that container to Amazon CloudWatch Logs.

func (*Client) StopAccessLogging

func (c *Client) StopAccessLogging(ctx context.Context, params *StopAccessLoggingInput, optFns ...func(*Options)) (*StopAccessLoggingOutput, error)

Stops access logging on the specified container. When you stop access logging on a container, MediaStore stops sending access logs to Amazon CloudWatch Logs. These access logs are not saved and are not retrievable.

func (*Client) TagResource

func (c *Client) TagResource(ctx context.Context, params *TagResourceInput, optFns ...func(*Options)) (*TagResourceOutput, error)

Adds tags to the specified AWS Elemental MediaStore container. Tags are key:value pairs that you can associate with AWS resources. For example, the tag key might be "customer" and the tag value might be "companyA." You can specify one or more tags to add to each container. You can add up to 50 tags to each container. For more information about tagging, including naming and usage conventions, see Tagging Resources in MediaStore (https://docs.aws.amazon.com/mediastore/latest/ug/tagging.html).

func (*Client) UntagResource

func (c *Client) UntagResource(ctx context.Context, params *UntagResourceInput, optFns ...func(*Options)) (*UntagResourceOutput, error)

Removes tags from the specified container. You can specify one or more tags to remove.

type CreateContainerInput

type CreateContainerInput struct {

	// The name for the container. The name must be from 1 to 255 characters. Container
	// names must be unique to your AWS account within a specific region. As an
	// example, you could create a container named movies in every region, as long as
	// you don’t have an existing container with that name.
	//
	// This member is required.
	ContainerName *string

	// An array of key:value pairs that you define. These values can be anything that
	// you want. Typically, the tag key represents a category (such as "environment")
	// and the tag value represents a specific value within that category (such as
	// "test," "development," or "production"). You can add up to 50 tags to each
	// container. For more information about tagging, including naming and usage
	// conventions, see Tagging Resources in MediaStore
	// (https://docs.aws.amazon.com/mediastore/latest/ug/tagging.html).
	Tags []*types.Tag
}

type CreateContainerOutput

type CreateContainerOutput struct {

	// ContainerARN: The Amazon Resource Name (ARN) of the newly created container. The
	// ARN has the following format: arn:aws:::container/. For example:
	// arn:aws:mediastore:us-west-2:111122223333:container/movies ContainerName: The
	// container name as specified in the request. CreationTime: Unix time stamp.
	// Status: The status of container creation or deletion. The status is one of the
	// following: CREATING, ACTIVE, or DELETING. While the service is creating the
	// container, the status is CREATING. When an endpoint is available, the status
	// changes to ACTIVE. The return value does not include the container's endpoint.
	// To make downstream requests, you must obtain this value by using
	// DescribeContainer or ListContainers.
	//
	// This member is required.
	Container *types.Container

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type DeleteContainerInput

type DeleteContainerInput struct {

	// The name of the container to delete.
	//
	// This member is required.
	ContainerName *string
}

type DeleteContainerOutput

type DeleteContainerOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type DeleteContainerPolicyInput

type DeleteContainerPolicyInput struct {

	// The name of the container that holds the policy.
	//
	// This member is required.
	ContainerName *string
}

type DeleteContainerPolicyOutput

type DeleteContainerPolicyOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type DeleteCorsPolicyInput

type DeleteCorsPolicyInput struct {

	// The name of the container to remove the policy from.
	//
	// This member is required.
	ContainerName *string
}

type DeleteCorsPolicyOutput

type DeleteCorsPolicyOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type DeleteLifecyclePolicyInput

type DeleteLifecyclePolicyInput struct {

	// The name of the container that holds the object lifecycle policy.
	//
	// This member is required.
	ContainerName *string
}

type DeleteLifecyclePolicyOutput

type DeleteLifecyclePolicyOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type DeleteMetricPolicyInput

type DeleteMetricPolicyInput struct {

	// The name of the container that is associated with the metric policy that you
	// want to delete.
	//
	// This member is required.
	ContainerName *string
}

type DeleteMetricPolicyOutput

type DeleteMetricPolicyOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type DescribeContainerInput

type DescribeContainerInput struct {

	// The name of the container to query.
	ContainerName *string
}

type DescribeContainerOutput

type DescribeContainerOutput struct {

	// The name of the queried container.
	Container *types.Container

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type EndpointResolver

type EndpointResolver interface {
	ResolveEndpoint(region string, options EndpointResolverOptions) (aws.Endpoint, error)
}

EndpointResolver interface for resolving service endpoints.

func WithEndpointResolver

func WithEndpointResolver(awsResolver aws.EndpointResolver, fallbackResolver EndpointResolver) EndpointResolver

WithEndpointResolver returns an EndpointResolver that first delegates endpoint resolution to the awsResolver. If awsResolver returns aws.EndpointNotFoundError error, the resolver will use the the provided fallbackResolver for resolution. awsResolver and fallbackResolver must not be nil

type EndpointResolverFunc

type EndpointResolverFunc func(region string, options EndpointResolverOptions) (aws.Endpoint, error)

EndpointResolverFunc is a helper utility that wraps a function so it satisfies the EndpointResolver interface. This is useful when you want to add additional endpoint resolving logic, or stub out specific endpoints with custom values.

func (EndpointResolverFunc) ResolveEndpoint

func (fn EndpointResolverFunc) ResolveEndpoint(region string, options EndpointResolverOptions) (endpoint aws.Endpoint, err error)

type EndpointResolverOptions added in v0.29.0

type EndpointResolverOptions = internalendpoints.Options

EndpointResolverOptions is the service endpoint resolver options

type GetContainerPolicyInput

type GetContainerPolicyInput struct {

	// The name of the container.
	//
	// This member is required.
	ContainerName *string
}

type GetContainerPolicyOutput

type GetContainerPolicyOutput struct {

	// The contents of the access policy.
	//
	// This member is required.
	Policy *string

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type GetCorsPolicyInput

type GetCorsPolicyInput struct {

	// The name of the container that the policy is assigned to.
	//
	// This member is required.
	ContainerName *string
}

type GetCorsPolicyOutput

type GetCorsPolicyOutput struct {

	// The CORS policy assigned to the container.
	//
	// This member is required.
	CorsPolicy []*types.CorsRule

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type GetLifecyclePolicyInput

type GetLifecyclePolicyInput struct {

	// The name of the container that the object lifecycle policy is assigned to.
	//
	// This member is required.
	ContainerName *string
}

type GetLifecyclePolicyOutput

type GetLifecyclePolicyOutput struct {

	// The object lifecycle policy that is assigned to the container.
	//
	// This member is required.
	LifecyclePolicy *string

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type GetMetricPolicyInput

type GetMetricPolicyInput struct {

	// The name of the container that is associated with the metric policy.
	//
	// This member is required.
	ContainerName *string
}

type GetMetricPolicyOutput

type GetMetricPolicyOutput struct {

	// The metric policy that is associated with the specific container.
	//
	// This member is required.
	MetricPolicy *types.MetricPolicy

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type HTTPClient

type HTTPClient interface {
	Do(*http.Request) (*http.Response, error)
}

type HTTPSignerV4

type HTTPSignerV4 interface {
	SignHTTP(ctx context.Context, credentials aws.Credentials, r *http.Request, payloadHash string, service string, region string, signingTime time.Time) error
}

type ListContainersInput

type ListContainersInput struct {

	// Enter the maximum number of containers in the response. Use from 1 to 255
	// characters.
	MaxResults *int32

	// Only if you used MaxResults in the first command, enter the token (which was
	// included in the previous response) to obtain the next set of containers. This
	// token is included in a response only if there actually are more containers to
	// list.
	NextToken *string
}

type ListContainersOutput

type ListContainersOutput struct {

	// The names of the containers.
	//
	// This member is required.
	Containers []*types.Container

	// NextToken is the token to use in the next call to ListContainers. This token is
	// returned only if you included the MaxResults tag in the original command, and
	// only if there are still containers to return.
	NextToken *string

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type ListTagsForResourceInput

type ListTagsForResourceInput struct {

	// The Amazon Resource Name (ARN) for the container.
	//
	// This member is required.
	Resource *string
}

type ListTagsForResourceOutput

type ListTagsForResourceOutput struct {

	// An array of key:value pairs that are assigned to the container.
	Tags []*types.Tag

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type Options

type Options struct {
	// Set of options to modify how an operation is invoked. These apply to all
	// operations invoked for this client. Use functional options on operation call to
	// modify this list for per operation behavior.
	APIOptions []func(*middleware.Stack) error

	// The credentials object to use when signing requests.
	Credentials aws.CredentialsProvider

	// The endpoint options to be used when attempting to resolve an endpoint.
	EndpointOptions EndpointResolverOptions

	// The service endpoint resolver.
	EndpointResolver EndpointResolver

	// Signature Version 4 (SigV4) Signer
	HTTPSignerV4 HTTPSignerV4

	// The region to send requests to. (Required)
	Region string

	// Retryer guides how HTTP requests should be retried in case of recoverable
	// failures. When nil the API client will use a default retryer.
	Retryer retry.Retryer

	// The HTTP client to invoke API calls with. Defaults to client's default HTTP
	// implementation if nil.
	HTTPClient HTTPClient
}

func (Options) Copy

func (o Options) Copy() Options

Copy creates a clone where the APIOptions list is deep copied.

type PutContainerPolicyInput

type PutContainerPolicyInput struct {

	// The name of the container.
	//
	// This member is required.
	ContainerName *string

	// The contents of the policy, which includes the following:
	//
	// * One Version tag
	//
	// *
	// One Statement tag that contains the standard tags for the policy.
	//
	// This member is required.
	Policy *string
}

type PutContainerPolicyOutput

type PutContainerPolicyOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type PutCorsPolicyInput

type PutCorsPolicyInput struct {

	// The name of the container that you want to assign the CORS policy to.
	//
	// This member is required.
	ContainerName *string

	// The CORS policy to apply to the container.
	//
	// This member is required.
	CorsPolicy []*types.CorsRule
}

type PutCorsPolicyOutput

type PutCorsPolicyOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type PutLifecyclePolicyInput

type PutLifecyclePolicyInput struct {

	// The name of the container that you want to assign the object lifecycle policy
	// to.
	//
	// This member is required.
	ContainerName *string

	// The object lifecycle policy to apply to the container.
	//
	// This member is required.
	LifecyclePolicy *string
}

type PutLifecyclePolicyOutput

type PutLifecyclePolicyOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type PutMetricPolicyInput

type PutMetricPolicyInput struct {

	// The name of the container that you want to add the metric policy to.
	//
	// This member is required.
	ContainerName *string

	// The metric policy that you want to associate with the container. In the policy,
	// you must indicate whether you want MediaStore to send container-level metrics.
	// You can also include up to five rules to define groups of objects that you want
	// MediaStore to send object-level metrics for. If you include rules in the policy,
	// construct each rule with both of the following:
	//
	// * An object group that defines
	// which objects to include in the group. The definition can be a path or a file
	// name, but it can't have more than 900 characters. Valid characters are: a-z,
	// A-Z, 0-9, _ (underscore), = (equal), : (colon), . (period), - (hyphen), ~
	// (tilde), / (forward slash), and * (asterisk). Wildcards (*) are acceptable.
	//
	// *
	// An object group name that allows you to refer to the object group. The name
	// can't have more than 30 characters. Valid characters are: a-z, A-Z, 0-9, and _
	// (underscore).
	//
	// This member is required.
	MetricPolicy *types.MetricPolicy
}

type PutMetricPolicyOutput

type PutMetricPolicyOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type ResolveEndpoint

type ResolveEndpoint struct {
	Resolver EndpointResolver
	Options  EndpointResolverOptions
}

func (*ResolveEndpoint) HandleSerialize

func (*ResolveEndpoint) ID

func (*ResolveEndpoint) ID() string

type StartAccessLoggingInput

type StartAccessLoggingInput struct {

	// The name of the container that you want to start access logging on.
	//
	// This member is required.
	ContainerName *string
}

type StartAccessLoggingOutput

type StartAccessLoggingOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type StopAccessLoggingInput

type StopAccessLoggingInput struct {

	// The name of the container that you want to stop access logging on.
	//
	// This member is required.
	ContainerName *string
}

type StopAccessLoggingOutput

type StopAccessLoggingOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type TagResourceInput

type TagResourceInput struct {

	// The Amazon Resource Name (ARN) for the container.
	//
	// This member is required.
	Resource *string

	// An array of key:value pairs that you want to add to the container. You need to
	// specify only the tags that you want to add or update. For example, suppose a
	// container already has two tags (customer:CompanyA and priority:High). You want
	// to change the priority tag and also add a third tag (type:Contract). For
	// TagResource, you specify the following tags: priority:Medium, type:Contract. The
	// result is that your container has three tags: customer:CompanyA,
	// priority:Medium, and type:Contract.
	//
	// This member is required.
	Tags []*types.Tag
}

type TagResourceOutput

type TagResourceOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type UntagResourceInput

type UntagResourceInput struct {

	// The Amazon Resource Name (ARN) for the container.
	//
	// This member is required.
	Resource *string

	// A comma-separated list of keys for tags that you want to remove from the
	// container. For example, if your container has two tags (customer:CompanyA and
	// priority:High) and you want to remove one of the tags (priority:High), you
	// specify the key for the tag that you want to remove (priority).
	//
	// This member is required.
	TagKeys []*string
}

type UntagResourceOutput

type UntagResourceOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL