keyspaces

package module
v1.10.10 Latest Latest
Warning

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

Go to latest
Published: Jun 7, 2024 License: Apache-2.0 Imports: 42 Imported by: 4

Documentation

Overview

Package keyspaces provides the API client, operations, and parameter types for Amazon Keyspaces.

Amazon Keyspaces (for Apache Cassandra) is a scalable, highly available, and managed Apache Cassandra-compatible database service. Amazon Keyspaces makes it easy to migrate, run, and scale Cassandra workloads in the Amazon Web Services Cloud. With just a few clicks on the Amazon Web Services Management Console or a few lines of code, you can create keyspaces and tables in Amazon Keyspaces, without deploying any infrastructure or installing software.

In addition to supporting Cassandra Query Language (CQL) requests via open-source Cassandra drivers, Amazon Keyspaces supports data definition language (DDL) operations to manage keyspaces and tables using the Amazon Web Services SDK and CLI, as well as infrastructure as code (IaC) services and tools such as CloudFormation and Terraform. This API reference describes the supported DDL operations in detail.

For the list of all supported CQL APIs, see Supported Cassandra APIs, operations, and data types in Amazon Keyspaces in the Amazon Keyspaces Developer Guide.

To learn how Amazon Keyspaces API actions are recorded with CloudTrail, see Amazon Keyspaces information in CloudTrail in the Amazon Keyspaces Developer Guide.

For more information about Amazon Web Services APIs, for example how to implement retry logic or how to sign Amazon Web Services API requests, see Amazon Web Services APIsin the General Reference.

Index

Constants

View Source
const ServiceAPIVersion = "2022-02-10"
View Source
const ServiceID = "Keyspaces"

Variables

This section is empty.

Functions

func NewDefaultEndpointResolver

func NewDefaultEndpointResolver() *internalendpoints.Resolver

NewDefaultEndpointResolver constructs a new service endpoint resolver

func WithAPIOptions

func WithAPIOptions(optFns ...func(*middleware.Stack) error) func(*Options)

WithAPIOptions returns a functional option for setting the Client's APIOptions option.

func WithEndpointResolver deprecated

func WithEndpointResolver(v EndpointResolver) func(*Options)

Deprecated: EndpointResolver and WithEndpointResolver. Providing a value for this field will likely prevent you from using any endpoint-related service features released after the introduction of EndpointResolverV2 and BaseEndpoint.

To migrate an EndpointResolver implementation that uses a custom endpoint, set the client option BaseEndpoint instead.

func WithEndpointResolverV2 added in v1.4.0

func WithEndpointResolverV2(v EndpointResolverV2) func(*Options)

WithEndpointResolverV2 returns a functional option for setting the Client's EndpointResolverV2 option.

func WithSigV4SigningName added in v1.6.2

func WithSigV4SigningName(name string) func(*Options)

WithSigV4SigningName applies an override to the authentication workflow to use the given signing name for SigV4-authenticated operations.

This is an advanced setting. The value here is FINAL, taking precedence over the resolved signing name from both auth scheme resolution and endpoint resolution.

func WithSigV4SigningRegion added in v1.6.2

func WithSigV4SigningRegion(region string) func(*Options)

WithSigV4SigningRegion applies an override to the authentication workflow to use the given signing region for SigV4-authenticated operations.

This is an advanced setting. The value here is FINAL, taking precedence over the resolved signing region from both auth scheme resolution and endpoint resolution.

Types

type AuthResolverParameters added in v1.6.2

type AuthResolverParameters struct {
	// The name of the operation being invoked.
	Operation string

	// The region in which the operation is being invoked.
	Region string
}

AuthResolverParameters contains the set of inputs necessary for auth scheme resolution.

type AuthSchemeResolver added in v1.6.2

type AuthSchemeResolver interface {
	ResolveAuthSchemes(context.Context, *AuthResolverParameters) ([]*smithyauth.Option, error)
}

AuthSchemeResolver returns a set of possible authentication options for an operation.

type Client

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

Client provides the API client to make operations call for Amazon Keyspaces.

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) CreateKeyspace

func (c *Client) CreateKeyspace(ctx context.Context, params *CreateKeyspaceInput, optFns ...func(*Options)) (*CreateKeyspaceOutput, error)

The CreateKeyspace operation adds a new keyspace to your account. In an Amazon Web Services account, keyspace names must be unique within each Region.

CreateKeyspace is an asynchronous operation. You can monitor the creation status of the new keyspace by using the GetKeyspace operation.

For more information, see Creating keyspaces in the Amazon Keyspaces Developer Guide.

func (*Client) CreateTable

func (c *Client) CreateTable(ctx context.Context, params *CreateTableInput, optFns ...func(*Options)) (*CreateTableOutput, error)

The CreateTable operation adds a new table to the specified keyspace. Within a keyspace, table names must be unique.

CreateTable is an asynchronous operation. When the request is received, the status of the table is set to CREATING . You can monitor the creation status of the new table by using the GetTable operation, which returns the current status of the table. You can start using a table when the status is ACTIVE .

For more information, see Creating tables in the Amazon Keyspaces Developer Guide.

func (*Client) DeleteKeyspace

func (c *Client) DeleteKeyspace(ctx context.Context, params *DeleteKeyspaceInput, optFns ...func(*Options)) (*DeleteKeyspaceOutput, error)

The DeleteKeyspace operation deletes a keyspace and all of its tables.

func (*Client) DeleteTable

func (c *Client) DeleteTable(ctx context.Context, params *DeleteTableInput, optFns ...func(*Options)) (*DeleteTableOutput, error)

The DeleteTable operation deletes a table and all of its data. After a DeleteTable request is received, the specified table is in the DELETING state until Amazon Keyspaces completes the deletion. If the table is in the ACTIVE state, you can delete it. If a table is either in the CREATING or UPDATING states, then Amazon Keyspaces returns a ResourceInUseException . If the specified table does not exist, Amazon Keyspaces returns a ResourceNotFoundException . If the table is already in the DELETING state, no error is returned.

func (*Client) GetKeyspace

func (c *Client) GetKeyspace(ctx context.Context, params *GetKeyspaceInput, optFns ...func(*Options)) (*GetKeyspaceOutput, error)

Returns the name and the Amazon Resource Name (ARN) of the specified table.

func (*Client) GetTable

func (c *Client) GetTable(ctx context.Context, params *GetTableInput, optFns ...func(*Options)) (*GetTableOutput, error)

Returns information about the table, including the table's name and current status, the keyspace name, configuration settings, and metadata.

To read table metadata using GetTable , Select action permissions for the table and system tables are required to complete the operation.

func (*Client) GetTableAutoScalingSettings added in v1.8.0

func (c *Client) GetTableAutoScalingSettings(ctx context.Context, params *GetTableAutoScalingSettingsInput, optFns ...func(*Options)) (*GetTableAutoScalingSettingsOutput, error)

Returns auto scaling related settings of the specified table in JSON format. If the table is a multi-Region table, the Amazon Web Services Region specific auto scaling settings of the table are included.

Amazon Keyspaces auto scaling helps you provision throughput capacity for variable workloads efficiently by increasing and decreasing your table's read and write capacity automatically in response to application traffic. For more information, see Managing throughput capacity automatically with Amazon Keyspaces auto scalingin the Amazon Keyspaces Developer Guide.

GetTableAutoScalingSettings can't be used as an action in an IAM policy.

To define permissions for GetTableAutoScalingSettings , you must allow the following two actions in the IAM policy statement's Action element:

  • application-autoscaling:DescribeScalableTargets

  • application-autoscaling:DescribeScalingPolicies

func (*Client) ListKeyspaces

func (c *Client) ListKeyspaces(ctx context.Context, params *ListKeyspacesInput, optFns ...func(*Options)) (*ListKeyspacesOutput, error)

Returns a list of keyspaces.

func (*Client) ListTables

func (c *Client) ListTables(ctx context.Context, params *ListTablesInput, optFns ...func(*Options)) (*ListTablesOutput, error)

Returns a list of tables for a specified keyspace.

func (*Client) ListTagsForResource

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

Returns a list of all tags associated with the specified Amazon Keyspaces resource.

func (*Client) Options added in v1.7.0

func (c *Client) Options() Options

Options returns a copy of the client configuration.

Callers SHOULD NOT perform mutations on any inner structures within client config. Config overrides should instead be made on a per-operation basis through functional options.

func (*Client) RestoreTable

func (c *Client) RestoreTable(ctx context.Context, params *RestoreTableInput, optFns ...func(*Options)) (*RestoreTableOutput, error)

Restores the table to the specified point in time within the earliest_restorable_timestamp and the current time. For more information about restore points, see Time window for PITR continuous backupsin the Amazon Keyspaces Developer Guide.

Any number of users can execute up to 4 concurrent restores (any type of restore) in a given account.

When you restore using point in time recovery, Amazon Keyspaces restores your source table's schema and data to the state based on the selected timestamp (day:hour:minute:second) to a new table. The Time to Live (TTL) settings are also restored to the state based on the selected timestamp.

In addition to the table's schema, data, and TTL settings, RestoreTable restores the capacity mode, auto scaling settings, encryption settings, and point-in-time recovery settings from the source table. Unlike the table's schema data and TTL settings, which are restored based on the selected timestamp, these settings are always restored based on the table's settings as of the current time or when the table was deleted.

You can also overwrite these settings during restore:

  • Read/write capacity mode

  • Provisioned throughput capacity units

  • Auto scaling settings

  • Point-in-time (PITR) settings

  • Tags

For more information, see PITR restore settings in the Amazon Keyspaces Developer Guide.

Note that the following settings are not restored, and you must configure them manually for the new table:

  • Identity and Access Management (IAM) policies

  • Amazon CloudWatch metrics and alarms

func (*Client) TagResource

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

Associates a set of tags with a Amazon Keyspaces resource. You can then activate these user-defined tags so that they appear on the Cost Management Console for cost allocation tracking. For more information, see Adding tags and labels to Amazon Keyspaces resourcesin the Amazon Keyspaces Developer Guide.

For IAM policy examples that show how to control access to Amazon Keyspaces resources based on tags, see Amazon Keyspaces resource access based on tagsin the Amazon Keyspaces Developer Guide.

func (*Client) UntagResource

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

Removes the association of tags from a Amazon Keyspaces resource.

func (*Client) UpdateTable

func (c *Client) UpdateTable(ctx context.Context, params *UpdateTableInput, optFns ...func(*Options)) (*UpdateTableOutput, error)

Adds new columns to the table or updates one of the table's settings, for example capacity mode, auto scaling, encryption, point-in-time recovery, or ttl settings. Note that you can only update one specific table setting per update operation.

type CreateKeyspaceInput

type CreateKeyspaceInput struct {

	// The name of the keyspace to be created.
	//
	// This member is required.
	KeyspaceName *string

	//  The replication specification of the keyspace includes:
	//
	//   - replicationStrategy - the required value is SINGLE_REGION or MULTI_REGION .
	//
	//   - regionList - if the replicationStrategy is MULTI_REGION , the regionList
	//   requires the current Region and at least one additional Amazon Web Services
	//   Region where the keyspace is going to be replicated in. The maximum number of
	//   supported replication Regions including the current Region is six.
	ReplicationSpecification *types.ReplicationSpecification

	// A list of key-value pair tags to be attached to the keyspace.
	//
	// For more information, see [Adding tags and labels to Amazon Keyspaces resources] in the Amazon Keyspaces Developer Guide.
	//
	// [Adding tags and labels to Amazon Keyspaces resources]: https://docs.aws.amazon.com/keyspaces/latest/devguide/tagging-keyspaces.html
	Tags []types.Tag
	// contains filtered or unexported fields
}

type CreateKeyspaceOutput

type CreateKeyspaceOutput struct {

	// The unique identifier of the keyspace in the format of an Amazon Resource Name
	// (ARN).
	//
	// This member is required.
	ResourceArn *string

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
	// contains filtered or unexported fields
}

type CreateTableInput

type CreateTableInput struct {

	// The name of the keyspace that the table is going to be created in.
	//
	// This member is required.
	KeyspaceName *string

	// The schemaDefinition consists of the following parameters.
	//
	// For each column to be created:
	//
	//   - name - The name of the column.
	//
	//   - type - An Amazon Keyspaces data type. For more information, see [Data types]in the
	//   Amazon Keyspaces Developer Guide.
	//
	// The primary key of the table consists of the following columns:
	//
	//   - partitionKeys - The partition key can be a single column, or it can be a
	//   compound value composed of two or more columns. The partition key portion of the
	//   primary key is required and determines how Amazon Keyspaces stores your data.
	//
	//   - name - The name of each partition key column.
	//
	//   - clusteringKeys - The optional clustering column portion of your primary key
	//   determines how the data is clustered and sorted within each partition.
	//
	//   - name - The name of the clustering column.
	//
	//   - orderBy - Sets the ascendant ( ASC ) or descendant ( DESC ) order modifier.
	//
	// To define a column as static use staticColumns - Static columns store values
	//   that are shared by all rows in the same partition:
	//
	//   - name - The name of the column.
	//
	//   - type - An Amazon Keyspaces data type.
	//
	// [Data types]: https://docs.aws.amazon.com/keyspaces/latest/devguide/cql.elements.html#cql.data-types
	//
	// This member is required.
	SchemaDefinition *types.SchemaDefinition

	// The name of the table.
	//
	// This member is required.
	TableName *string

	// The optional auto scaling settings for a table in provisioned capacity mode.
	// Specifies if the service can manage throughput capacity automatically on your
	// behalf.
	//
	// Auto scaling helps you provision throughput capacity for variable workloads
	// efficiently by increasing and decreasing your table's read and write capacity
	// automatically in response to application traffic. For more information, see [Managing throughput capacity automatically with Amazon Keyspaces auto scaling]in
	// the Amazon Keyspaces Developer Guide.
	//
	// By default, auto scaling is disabled for a table.
	//
	// [Managing throughput capacity automatically with Amazon Keyspaces auto scaling]: https://docs.aws.amazon.com/keyspaces/latest/devguide/autoscaling.html
	AutoScalingSpecification *types.AutoScalingSpecification

	// Specifies the read/write throughput capacity mode for the table. The options
	// are:
	//
	//   - throughputMode:PAY_PER_REQUEST and
	//
	//   - throughputMode:PROVISIONED - Provisioned capacity mode requires
	//   readCapacityUnits and writeCapacityUnits as input.
	//
	// The default is throughput_mode:PAY_PER_REQUEST .
	//
	// For more information, see [Read/write capacity modes] in the Amazon Keyspaces Developer Guide.
	//
	// [Read/write capacity modes]: https://docs.aws.amazon.com/keyspaces/latest/devguide/ReadWriteCapacityMode.html
	CapacitySpecification *types.CapacitySpecification

	//  Enables client-side timestamps for the table. By default, the setting is
	// disabled. You can enable client-side timestamps with the following option:
	//
	//   - status: "enabled"
	//
	// Once client-side timestamps are enabled for a table, this setting cannot be
	// disabled.
	ClientSideTimestamps *types.ClientSideTimestamps

	// This parameter allows to enter a description of the table.
	Comment *types.Comment

	// The default Time to Live setting in seconds for the table.
	//
	// For more information, see [Setting the default TTL value for a table] in the Amazon Keyspaces Developer Guide.
	//
	// [Setting the default TTL value for a table]: https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL-how-it-works.html#ttl-howitworks_default_ttl
	DefaultTimeToLive *int32

	// Specifies how the encryption key for encryption at rest is managed for the
	// table. You can choose one of the following KMS key (KMS key):
	//
	//   - type:AWS_OWNED_KMS_KEY - This key is owned by Amazon Keyspaces.
	//
	//   - type:CUSTOMER_MANAGED_KMS_KEY - This key is stored in your account and is
	//   created, owned, and managed by you. This option requires the
	//   kms_key_identifier of the KMS key in Amazon Resource Name (ARN) format as
	//   input.
	//
	// The default is type:AWS_OWNED_KMS_KEY .
	//
	// For more information, see [Encryption at rest] in the Amazon Keyspaces Developer Guide.
	//
	// [Encryption at rest]: https://docs.aws.amazon.com/keyspaces/latest/devguide/EncryptionAtRest.html
	EncryptionSpecification *types.EncryptionSpecification

	// Specifies if pointInTimeRecovery is enabled or disabled for the table. The
	// options are:
	//
	//   - status=ENABLED
	//
	//   - status=DISABLED
	//
	// If it's not specified, the default is status=DISABLED .
	//
	// For more information, see [Point-in-time recovery] in the Amazon Keyspaces Developer Guide.
	//
	// [Point-in-time recovery]: https://docs.aws.amazon.com/keyspaces/latest/devguide/PointInTimeRecovery.html
	PointInTimeRecovery *types.PointInTimeRecovery

	// The optional Amazon Web Services Region specific settings of a multi-Region
	// table. These settings overwrite the general settings of the table for the
	// specified Region.
	//
	// For a multi-Region table in provisioned capacity mode, you can configure the
	// table's read capacity differently for each Region's replica. The write capacity,
	// however, remains synchronized between all replicas to ensure that there's enough
	// capacity to replicate writes across all Regions. To define the read capacity for
	// a table replica in a specific Region, you can do so by configuring the following
	// parameters.
	//
	//   - region : The Region where these settings are applied. (Required)
	//
	//   - readCapacityUnits : The provisioned read capacity units. (Optional)
	//
	//   - readCapacityAutoScaling : The read capacity auto scaling settings for the
	//   table. (Optional)
	ReplicaSpecifications []types.ReplicaSpecification

	// A list of key-value pair tags to be attached to the resource.
	//
	// For more information, see [Adding tags and labels to Amazon Keyspaces resources] in the Amazon Keyspaces Developer Guide.
	//
	// [Adding tags and labels to Amazon Keyspaces resources]: https://docs.aws.amazon.com/keyspaces/latest/devguide/tagging-keyspaces.html
	Tags []types.Tag

	// Enables Time to Live custom settings for the table. The options are:
	//
	//   - status:enabled
	//
	//   - status:disabled
	//
	// The default is status:disabled . After ttl is enabled, you can't disable it for
	// the table.
	//
	// For more information, see [Expiring data by using Amazon Keyspaces Time to Live (TTL)] in the Amazon Keyspaces Developer Guide.
	//
	// [Expiring data by using Amazon Keyspaces Time to Live (TTL)]: https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL.html
	Ttl *types.TimeToLive
	// contains filtered or unexported fields
}

type CreateTableOutput

type CreateTableOutput struct {

	// The unique identifier of the table in the format of an Amazon Resource Name
	// (ARN).
	//
	// This member is required.
	ResourceArn *string

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
	// contains filtered or unexported fields
}

type DeleteKeyspaceInput

type DeleteKeyspaceInput struct {

	// The name of the keyspace to be deleted.
	//
	// This member is required.
	KeyspaceName *string
	// contains filtered or unexported fields
}

type DeleteKeyspaceOutput

type DeleteKeyspaceOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
	// contains filtered or unexported fields
}

type DeleteTableInput

type DeleteTableInput struct {

	// The name of the keyspace of the to be deleted table.
	//
	// This member is required.
	KeyspaceName *string

	// The name of the table to be deleted.
	//
	// This member is required.
	TableName *string
	// contains filtered or unexported fields
}

type DeleteTableOutput

type DeleteTableOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
	// contains filtered or unexported fields
}

type EndpointParameters added in v1.4.0

type EndpointParameters struct {
	// The AWS region used to dispatch the request.
	//
	// Parameter is
	// required.
	//
	// AWS::Region
	Region *string

	// When true, use the dual-stack endpoint. If the configured endpoint does not
	// support dual-stack, dispatching the request MAY return an error.
	//
	// Defaults to
	// false if no value is provided.
	//
	// AWS::UseDualStack
	UseDualStack *bool

	// When true, send this request to the FIPS-compliant regional endpoint. If the
	// configured endpoint does not have a FIPS compliant endpoint, dispatching the
	// request will return an error.
	//
	// Defaults to false if no value is
	// provided.
	//
	// AWS::UseFIPS
	UseFIPS *bool

	// Override the endpoint used to send this request
	//
	// Parameter is
	// required.
	//
	// SDK::Endpoint
	Endpoint *string
}

EndpointParameters provides the parameters that influence how endpoints are resolved.

func (EndpointParameters) ValidateRequired added in v1.4.0

func (p EndpointParameters) ValidateRequired() error

ValidateRequired validates required parameters are set.

func (EndpointParameters) WithDefaults added in v1.4.0

func (p EndpointParameters) WithDefaults() EndpointParameters

WithDefaults returns a shallow copy of EndpointParameterswith default values applied to members where applicable.

type EndpointResolver

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

EndpointResolver interface for resolving service endpoints.

func EndpointResolverFromURL

func EndpointResolverFromURL(url string, optFns ...func(*aws.Endpoint)) EndpointResolver

EndpointResolverFromURL returns an EndpointResolver configured using the provided endpoint url. By default, the resolved endpoint resolver uses the client region as signing region, and the endpoint source is set to EndpointSourceCustom.You can provide functional options to configure endpoint values for the resolved endpoint.

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

type EndpointResolverOptions = internalendpoints.Options

EndpointResolverOptions is the service endpoint resolver options

type EndpointResolverV2 added in v1.4.0

type EndpointResolverV2 interface {
	// ResolveEndpoint attempts to resolve the endpoint with the provided options,
	// returning the endpoint if found. Otherwise an error is returned.
	ResolveEndpoint(ctx context.Context, params EndpointParameters) (
		smithyendpoints.Endpoint, error,
	)
}

EndpointResolverV2 provides the interface for resolving service endpoints.

func NewDefaultEndpointResolverV2 added in v1.4.0

func NewDefaultEndpointResolverV2() EndpointResolverV2

type GetKeyspaceInput

type GetKeyspaceInput struct {

	// The name of the keyspace.
	//
	// This member is required.
	KeyspaceName *string
	// contains filtered or unexported fields
}

type GetKeyspaceOutput

type GetKeyspaceOutput struct {

	// The name of the keyspace.
	//
	// This member is required.
	KeyspaceName *string

	//  Returns the replication strategy of the keyspace. The options are SINGLE_REGION
	// or MULTI_REGION .
	//
	// This member is required.
	ReplicationStrategy types.Rs

	// Returns the ARN of the keyspace.
	//
	// This member is required.
	ResourceArn *string

	//  If the replicationStrategy of the keyspace is MULTI_REGION , a list of
	// replication Regions is returned.
	ReplicationRegions []string

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
	// contains filtered or unexported fields
}

type GetTableAutoScalingSettingsInput added in v1.8.0

type GetTableAutoScalingSettingsInput struct {

	// The name of the keyspace.
	//
	// This member is required.
	KeyspaceName *string

	// The name of the table.
	//
	// This member is required.
	TableName *string
	// contains filtered or unexported fields
}

type GetTableAutoScalingSettingsOutput added in v1.8.0

type GetTableAutoScalingSettingsOutput struct {

	// The name of the keyspace.
	//
	// This member is required.
	KeyspaceName *string

	// The Amazon Resource Name (ARN) of the table.
	//
	// This member is required.
	ResourceArn *string

	// The name of the table.
	//
	// This member is required.
	TableName *string

	// The auto scaling settings of the table.
	AutoScalingSpecification *types.AutoScalingSpecification

	// The Amazon Web Services Region specific settings of a multi-Region table.
	// Returns the settings for all Regions the table is replicated in.
	ReplicaSpecifications []types.ReplicaAutoScalingSpecification

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
	// contains filtered or unexported fields
}

type GetTableInput

type GetTableInput struct {

	// The name of the keyspace that the table is stored in.
	//
	// This member is required.
	KeyspaceName *string

	// The name of the table.
	//
	// This member is required.
	TableName *string
	// contains filtered or unexported fields
}

type GetTableOutput

type GetTableOutput struct {

	// The name of the keyspace that the specified table is stored in.
	//
	// This member is required.
	KeyspaceName *string

	// The Amazon Resource Name (ARN) of the specified table.
	//
	// This member is required.
	ResourceArn *string

	// The name of the specified table.
	//
	// This member is required.
	TableName *string

	// The read/write throughput capacity mode for a table. The options are:
	//
	//   - throughputMode:PAY_PER_REQUEST
	//
	//   - throughputMode:PROVISIONED
	CapacitySpecification *types.CapacitySpecificationSummary

	//  The client-side timestamps setting of the table.
	ClientSideTimestamps *types.ClientSideTimestamps

	// The the description of the specified table.
	Comment *types.Comment

	// The creation timestamp of the specified table.
	CreationTimestamp *time.Time

	// The default Time to Live settings in seconds of the specified table.
	DefaultTimeToLive *int32

	// The encryption settings of the specified table.
	EncryptionSpecification *types.EncryptionSpecification

	// The point-in-time recovery status of the specified table.
	PointInTimeRecovery *types.PointInTimeRecoverySummary

	// Returns the Amazon Web Services Region specific settings of all Regions a
	// multi-Region table is replicated in.
	ReplicaSpecifications []types.ReplicaSpecificationSummary

	// The schema definition of the specified table.
	SchemaDefinition *types.SchemaDefinition

	// The current status of the specified table.
	Status types.TableStatus

	// The custom Time to Live settings of the specified table.
	Ttl *types.TimeToLive

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
	// contains filtered or unexported fields
}

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, optFns ...func(*v4.SignerOptions)) error
}

type ListKeyspacesAPIClient

type ListKeyspacesAPIClient interface {
	ListKeyspaces(context.Context, *ListKeyspacesInput, ...func(*Options)) (*ListKeyspacesOutput, error)
}

ListKeyspacesAPIClient is a client that implements the ListKeyspaces operation.

type ListKeyspacesInput

type ListKeyspacesInput struct {

	// The total number of keyspaces to return in the output. If the total number of
	// keyspaces available is more than the value specified, a NextToken is provided
	// in the output. To resume pagination, provide the NextToken value as an argument
	// of a subsequent API invocation.
	MaxResults *int32

	// The pagination token. To resume pagination, provide the NextToken value as
	// argument of a subsequent API invocation.
	NextToken *string
	// contains filtered or unexported fields
}

type ListKeyspacesOutput

type ListKeyspacesOutput struct {

	// A list of keyspaces.
	//
	// This member is required.
	Keyspaces []types.KeyspaceSummary

	// A token to specify where to start paginating. This is the NextToken from a
	// previously truncated response.
	NextToken *string

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
	// contains filtered or unexported fields
}

type ListKeyspacesPaginator

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

ListKeyspacesPaginator is a paginator for ListKeyspaces

func NewListKeyspacesPaginator

func NewListKeyspacesPaginator(client ListKeyspacesAPIClient, params *ListKeyspacesInput, optFns ...func(*ListKeyspacesPaginatorOptions)) *ListKeyspacesPaginator

NewListKeyspacesPaginator returns a new ListKeyspacesPaginator

func (*ListKeyspacesPaginator) HasMorePages

func (p *ListKeyspacesPaginator) HasMorePages() bool

HasMorePages returns a boolean indicating whether more pages are available

func (*ListKeyspacesPaginator) NextPage

func (p *ListKeyspacesPaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*ListKeyspacesOutput, error)

NextPage retrieves the next ListKeyspaces page.

type ListKeyspacesPaginatorOptions

type ListKeyspacesPaginatorOptions struct {
	// The total number of keyspaces to return in the output. If the total number of
	// keyspaces available is more than the value specified, a NextToken is provided
	// in the output. To resume pagination, provide the NextToken value as an argument
	// of a subsequent API invocation.
	Limit int32

	// Set to true if pagination should stop if the service returns a pagination token
	// that matches the most recent token provided to the service.
	StopOnDuplicateToken bool
}

ListKeyspacesPaginatorOptions is the paginator options for ListKeyspaces

type ListTablesAPIClient

type ListTablesAPIClient interface {
	ListTables(context.Context, *ListTablesInput, ...func(*Options)) (*ListTablesOutput, error)
}

ListTablesAPIClient is a client that implements the ListTables operation.

type ListTablesInput

type ListTablesInput struct {

	// The name of the keyspace.
	//
	// This member is required.
	KeyspaceName *string

	// The total number of tables to return in the output. If the total number of
	// tables available is more than the value specified, a NextToken is provided in
	// the output. To resume pagination, provide the NextToken value as an argument of
	// a subsequent API invocation.
	MaxResults *int32

	// The pagination token. To resume pagination, provide the NextToken value as an
	// argument of a subsequent API invocation.
	NextToken *string
	// contains filtered or unexported fields
}

type ListTablesOutput

type ListTablesOutput struct {

	// A token to specify where to start paginating. This is the NextToken from a
	// previously truncated response.
	NextToken *string

	// A list of tables.
	Tables []types.TableSummary

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
	// contains filtered or unexported fields
}

type ListTablesPaginator

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

ListTablesPaginator is a paginator for ListTables

func NewListTablesPaginator

func NewListTablesPaginator(client ListTablesAPIClient, params *ListTablesInput, optFns ...func(*ListTablesPaginatorOptions)) *ListTablesPaginator

NewListTablesPaginator returns a new ListTablesPaginator

func (*ListTablesPaginator) HasMorePages

func (p *ListTablesPaginator) HasMorePages() bool

HasMorePages returns a boolean indicating whether more pages are available

func (*ListTablesPaginator) NextPage

func (p *ListTablesPaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*ListTablesOutput, error)

NextPage retrieves the next ListTables page.

type ListTablesPaginatorOptions

type ListTablesPaginatorOptions struct {
	// The total number of tables to return in the output. If the total number of
	// tables available is more than the value specified, a NextToken is provided in
	// the output. To resume pagination, provide the NextToken value as an argument of
	// a subsequent API invocation.
	Limit int32

	// Set to true if pagination should stop if the service returns a pagination token
	// that matches the most recent token provided to the service.
	StopOnDuplicateToken bool
}

ListTablesPaginatorOptions is the paginator options for ListTables

type ListTagsForResourceAPIClient

type ListTagsForResourceAPIClient interface {
	ListTagsForResource(context.Context, *ListTagsForResourceInput, ...func(*Options)) (*ListTagsForResourceOutput, error)
}

ListTagsForResourceAPIClient is a client that implements the ListTagsForResource operation.

type ListTagsForResourceInput

type ListTagsForResourceInput struct {

	// The Amazon Resource Name (ARN) of the Amazon Keyspaces resource.
	//
	// This member is required.
	ResourceArn *string

	// The total number of tags to return in the output. If the total number of tags
	// available is more than the value specified, a NextToken is provided in the
	// output. To resume pagination, provide the NextToken value as an argument of a
	// subsequent API invocation.
	MaxResults *int32

	// The pagination token. To resume pagination, provide the NextToken value as
	// argument of a subsequent API invocation.
	NextToken *string
	// contains filtered or unexported fields
}

type ListTagsForResourceOutput

type ListTagsForResourceOutput struct {

	// A token to specify where to start paginating. This is the NextToken from a
	// previously truncated response.
	NextToken *string

	// A list of tags.
	Tags []types.Tag

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
	// contains filtered or unexported fields
}

type ListTagsForResourcePaginator

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

ListTagsForResourcePaginator is a paginator for ListTagsForResource

func NewListTagsForResourcePaginator

func NewListTagsForResourcePaginator(client ListTagsForResourceAPIClient, params *ListTagsForResourceInput, optFns ...func(*ListTagsForResourcePaginatorOptions)) *ListTagsForResourcePaginator

NewListTagsForResourcePaginator returns a new ListTagsForResourcePaginator

func (*ListTagsForResourcePaginator) HasMorePages

func (p *ListTagsForResourcePaginator) HasMorePages() bool

HasMorePages returns a boolean indicating whether more pages are available

func (*ListTagsForResourcePaginator) NextPage

func (p *ListTagsForResourcePaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*ListTagsForResourceOutput, error)

NextPage retrieves the next ListTagsForResource page.

type ListTagsForResourcePaginatorOptions

type ListTagsForResourcePaginatorOptions struct {
	// The total number of tags to return in the output. If the total number of tags
	// available is more than the value specified, a NextToken is provided in the
	// output. To resume pagination, provide the NextToken value as an argument of a
	// subsequent API invocation.
	Limit int32

	// Set to true if pagination should stop if the service returns a pagination token
	// that matches the most recent token provided to the service.
	StopOnDuplicateToken bool
}

ListTagsForResourcePaginatorOptions is the paginator options for ListTagsForResource

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 optional application specific identifier appended to the User-Agent header.
	AppID string

	// This endpoint will be given as input to an EndpointResolverV2. It is used for
	// providing a custom base endpoint that is subject to modifications by the
	// processing EndpointResolverV2.
	BaseEndpoint *string

	// Configures the events that will be sent to the configured logger.
	ClientLogMode aws.ClientLogMode

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

	// The configuration DefaultsMode that the SDK should use when constructing the
	// clients initial default settings.
	DefaultsMode aws.DefaultsMode

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

	// The service endpoint resolver.
	//
	// Deprecated: Deprecated: EndpointResolver and WithEndpointResolver. Providing a
	// value for this field will likely prevent you from using any endpoint-related
	// service features released after the introduction of EndpointResolverV2 and
	// BaseEndpoint.
	//
	// To migrate an EndpointResolver implementation that uses a custom endpoint, set
	// the client option BaseEndpoint instead.
	EndpointResolver EndpointResolver

	// Resolves the endpoint used for a particular service operation. This should be
	// used over the deprecated EndpointResolver.
	EndpointResolverV2 EndpointResolverV2

	// Signature Version 4 (SigV4) Signer
	HTTPSignerV4 HTTPSignerV4

	// The logger writer interface to write logging messages to.
	Logger logging.Logger

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

	// RetryMaxAttempts specifies the maximum number attempts an API client will call
	// an operation that fails with a retryable error. A value of 0 is ignored, and
	// will not be used to configure the API client created default retryer, or modify
	// per operation call's retry max attempts.
	//
	// If specified in an operation call's functional options with a value that is
	// different than the constructed client's Options, the Client's Retryer will be
	// wrapped to use the operation's specific RetryMaxAttempts value.
	RetryMaxAttempts int

	// RetryMode specifies the retry mode the API client will be created with, if
	// Retryer option is not also specified.
	//
	// When creating a new API Clients this member will only be used if the Retryer
	// Options member is nil. This value will be ignored if Retryer is not nil.
	//
	// Currently does not support per operation call overrides, may in the future.
	RetryMode aws.RetryMode

	// Retryer guides how HTTP requests should be retried in case of recoverable
	// failures. When nil the API client will use a default retryer. The kind of
	// default retry created by the API client can be changed with the RetryMode
	// option.
	Retryer aws.Retryer

	// The RuntimeEnvironment configuration, only populated if the DefaultsMode is set
	// to DefaultsModeAuto and is initialized using config.LoadDefaultConfig . You
	// should not populate this structure programmatically, or rely on the values here
	// within your applications.
	RuntimeEnvironment aws.RuntimeEnvironment

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

	// The auth scheme resolver which determines how to authenticate for each
	// operation.
	AuthSchemeResolver AuthSchemeResolver

	// The list of auth schemes supported by the client.
	AuthSchemes []smithyhttp.AuthScheme
	// contains filtered or unexported fields
}

func (Options) Copy

func (o Options) Copy() Options

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

func (Options) GetIdentityResolver added in v1.6.2

func (o Options) GetIdentityResolver(schemeID string) smithyauth.IdentityResolver

type ResolveEndpoint

type ResolveEndpoint struct {
	Resolver EndpointResolver
	Options  EndpointResolverOptions
}

func (*ResolveEndpoint) HandleSerialize

func (*ResolveEndpoint) ID

func (*ResolveEndpoint) ID() string

type RestoreTableInput

type RestoreTableInput struct {

	// The keyspace name of the source table.
	//
	// This member is required.
	SourceKeyspaceName *string

	// The name of the source table.
	//
	// This member is required.
	SourceTableName *string

	// The name of the target keyspace.
	//
	// This member is required.
	TargetKeyspaceName *string

	// The name of the target table.
	//
	// This member is required.
	TargetTableName *string

	// The optional auto scaling settings for the restored table in provisioned
	// capacity mode. Specifies if the service can manage throughput capacity of a
	// provisioned table automatically on your behalf. Amazon Keyspaces auto scaling
	// helps you provision throughput capacity for variable workloads efficiently by
	// increasing and decreasing your table's read and write capacity automatically in
	// response to application traffic.
	//
	// For more information, see [Managing throughput capacity automatically with Amazon Keyspaces auto scaling] in the Amazon Keyspaces Developer Guide.
	//
	// [Managing throughput capacity automatically with Amazon Keyspaces auto scaling]: https://docs.aws.amazon.com/keyspaces/latest/devguide/autoscaling.html
	AutoScalingSpecification *types.AutoScalingSpecification

	// Specifies the read/write throughput capacity mode for the target table. The
	// options are:
	//
	//   - throughputMode:PAY_PER_REQUEST
	//
	//   - throughputMode:PROVISIONED - Provisioned capacity mode requires
	//   readCapacityUnits and writeCapacityUnits as input.
	//
	// The default is throughput_mode:PAY_PER_REQUEST .
	//
	// For more information, see [Read/write capacity modes] in the Amazon Keyspaces Developer Guide.
	//
	// [Read/write capacity modes]: https://docs.aws.amazon.com/keyspaces/latest/devguide/ReadWriteCapacityMode.html
	CapacitySpecificationOverride *types.CapacitySpecification

	// Specifies the encryption settings for the target table. You can choose one of
	// the following KMS key (KMS key):
	//
	//   - type:AWS_OWNED_KMS_KEY - This key is owned by Amazon Keyspaces.
	//
	//   - type:CUSTOMER_MANAGED_KMS_KEY - This key is stored in your account and is
	//   created, owned, and managed by you. This option requires the
	//   kms_key_identifier of the KMS key in Amazon Resource Name (ARN) format as
	//   input.
	//
	// The default is type:AWS_OWNED_KMS_KEY .
	//
	// For more information, see [Encryption at rest] in the Amazon Keyspaces Developer Guide.
	//
	// [Encryption at rest]: https://docs.aws.amazon.com/keyspaces/latest/devguide/EncryptionAtRest.html
	EncryptionSpecificationOverride *types.EncryptionSpecification

	// Specifies the pointInTimeRecovery settings for the target table. The options
	// are:
	//
	//   - status=ENABLED
	//
	//   - status=DISABLED
	//
	// If it's not specified, the default is status=DISABLED .
	//
	// For more information, see [Point-in-time recovery] in the Amazon Keyspaces Developer Guide.
	//
	// [Point-in-time recovery]: https://docs.aws.amazon.com/keyspaces/latest/devguide/PointInTimeRecovery.html
	PointInTimeRecoveryOverride *types.PointInTimeRecovery

	// The optional Region specific settings of a multi-Regional table.
	ReplicaSpecifications []types.ReplicaSpecification

	// The restore timestamp in ISO 8601 format.
	RestoreTimestamp *time.Time

	// A list of key-value pair tags to be attached to the restored table.
	//
	// For more information, see [Adding tags and labels to Amazon Keyspaces resources] in the Amazon Keyspaces Developer Guide.
	//
	// [Adding tags and labels to Amazon Keyspaces resources]: https://docs.aws.amazon.com/keyspaces/latest/devguide/tagging-keyspaces.html
	TagsOverride []types.Tag
	// contains filtered or unexported fields
}

type RestoreTableOutput

type RestoreTableOutput struct {

	// The Amazon Resource Name (ARN) of the restored table.
	//
	// This member is required.
	RestoredTableARN *string

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
	// contains filtered or unexported fields
}

type TagResourceInput

type TagResourceInput struct {

	// The Amazon Resource Name (ARN) of the Amazon Keyspaces resource to which to add
	// tags.
	//
	// This member is required.
	ResourceArn *string

	// The tags to be assigned to the Amazon Keyspaces resource.
	//
	// This member is required.
	Tags []types.Tag
	// contains filtered or unexported fields
}

type TagResourceOutput

type TagResourceOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
	// contains filtered or unexported fields
}

type UntagResourceInput

type UntagResourceInput struct {

	// The Amazon Keyspaces resource that the tags will be removed from. This value is
	// an Amazon Resource Name (ARN).
	//
	// This member is required.
	ResourceArn *string

	// A list of existing tags to be removed from the Amazon Keyspaces resource.
	//
	// This member is required.
	Tags []types.Tag
	// contains filtered or unexported fields
}

type UntagResourceOutput

type UntagResourceOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
	// contains filtered or unexported fields
}

type UpdateTableInput

type UpdateTableInput struct {

	// The name of the keyspace the specified table is stored in.
	//
	// This member is required.
	KeyspaceName *string

	// The name of the table.
	//
	// This member is required.
	TableName *string

	// For each column to be added to the specified table:
	//
	//   - name - The name of the column.
	//
	//   - type - An Amazon Keyspaces data type. For more information, see [Data types]in the
	//   Amazon Keyspaces Developer Guide.
	//
	// [Data types]: https://docs.aws.amazon.com/keyspaces/latest/devguide/cql.elements.html#cql.data-types
	AddColumns []types.ColumnDefinition

	// The optional auto scaling settings to update for a table in provisioned
	// capacity mode. Specifies if the service can manage throughput capacity of a
	// provisioned table automatically on your behalf. Amazon Keyspaces auto scaling
	// helps you provision throughput capacity for variable workloads efficiently by
	// increasing and decreasing your table's read and write capacity automatically in
	// response to application traffic.
	//
	// If auto scaling is already enabled for the table, you can use UpdateTable to
	// update the minimum and maximum values or the auto scaling policy settings
	// independently.
	//
	// For more information, see [Managing throughput capacity automatically with Amazon Keyspaces auto scaling] in the Amazon Keyspaces Developer Guide.
	//
	// [Managing throughput capacity automatically with Amazon Keyspaces auto scaling]: https://docs.aws.amazon.com/keyspaces/latest/devguide/autoscaling.html
	AutoScalingSpecification *types.AutoScalingSpecification

	// Modifies the read/write throughput capacity mode for the table. The options are:
	//
	//   - throughputMode:PAY_PER_REQUEST and
	//
	//   - throughputMode:PROVISIONED - Provisioned capacity mode requires
	//   readCapacityUnits and writeCapacityUnits as input.
	//
	// The default is throughput_mode:PAY_PER_REQUEST .
	//
	// For more information, see [Read/write capacity modes] in the Amazon Keyspaces Developer Guide.
	//
	// [Read/write capacity modes]: https://docs.aws.amazon.com/keyspaces/latest/devguide/ReadWriteCapacityMode.html
	CapacitySpecification *types.CapacitySpecification

	// Enables client-side timestamps for the table. By default, the setting is
	// disabled. You can enable client-side timestamps with the following option:
	//
	//   - status: "enabled"
	//
	// Once client-side timestamps are enabled for a table, this setting cannot be
	// disabled.
	ClientSideTimestamps *types.ClientSideTimestamps

	// The default Time to Live setting in seconds for the table.
	//
	// For more information, see [Setting the default TTL value for a table] in the Amazon Keyspaces Developer Guide.
	//
	// [Setting the default TTL value for a table]: https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL-how-it-works.html#ttl-howitworks_default_ttl
	DefaultTimeToLive *int32

	// Modifies the encryption settings of the table. You can choose one of the
	// following KMS key (KMS key):
	//
	//   - type:AWS_OWNED_KMS_KEY - This key is owned by Amazon Keyspaces.
	//
	//   - type:CUSTOMER_MANAGED_KMS_KEY - This key is stored in your account and is
	//   created, owned, and managed by you. This option requires the
	//   kms_key_identifier of the KMS key in Amazon Resource Name (ARN) format as
	//   input.
	//
	// The default is AWS_OWNED_KMS_KEY .
	//
	// For more information, see [Encryption at rest] in the Amazon Keyspaces Developer Guide.
	//
	// [Encryption at rest]: https://docs.aws.amazon.com/keyspaces/latest/devguide/EncryptionAtRest.html
	EncryptionSpecification *types.EncryptionSpecification

	// Modifies the pointInTimeRecovery settings of the table. The options are:
	//
	//   - status=ENABLED
	//
	//   - status=DISABLED
	//
	// If it's not specified, the default is status=DISABLED .
	//
	// For more information, see [Point-in-time recovery] in the Amazon Keyspaces Developer Guide.
	//
	// [Point-in-time recovery]: https://docs.aws.amazon.com/keyspaces/latest/devguide/PointInTimeRecovery.html
	PointInTimeRecovery *types.PointInTimeRecovery

	// The Region specific settings of a multi-Regional table.
	ReplicaSpecifications []types.ReplicaSpecification

	// Modifies Time to Live custom settings for the table. The options are:
	//
	//   - status:enabled
	//
	//   - status:disabled
	//
	// The default is status:disabled . After ttl is enabled, you can't disable it for
	// the table.
	//
	// For more information, see [Expiring data by using Amazon Keyspaces Time to Live (TTL)] in the Amazon Keyspaces Developer Guide.
	//
	// [Expiring data by using Amazon Keyspaces Time to Live (TTL)]: https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL.html
	Ttl *types.TimeToLive
	// contains filtered or unexported fields
}

type UpdateTableOutput

type UpdateTableOutput struct {

	// The Amazon Resource Name (ARN) of the modified table.
	//
	// This member is required.
	ResourceArn *string

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
	// contains filtered or unexported fields
}

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

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