Skip to main content

Initializers

import cdktn

cdktn.OssBackend(
  scope: Construct,
  bucket: str,
  access_key: str = None,
  acl: str = None,
  assume_role: OssAssumeRole = None,
  assume_role_policy: str = None,
  assume_role_role_arn: str = None,
  assume_role_session_expiration: typing.Union[int, float] = None,
  assume_role_session_name: str = None,
  ecs_role_name: str = None,
  encrypt: bool = None,
  endpoint: str = None,
  key: str = None,
  prefix: str = None,
  profile: str = None,
  region: str = None,
  secret_key: str = None,
  security_token: str = None,
  shared_credentials_file: str = None,
  sts_endpoint: str = None,
  tablestore_endpoint: str = None,
  tablestore_table: str = None
)
NameTypeDescription
scopeconstructs.ConstructNo description.
bucketstr(Required) The name of the OSS bucket.
access_keystr(Optional) Alibaba Cloud access key.
aclstr(Optional) Object ACL to be applied to the state file.
assume_roleOssAssumeRoleNo description.
assume_role_policystr(Optional, Available in 1.1.0+) A more restrictive policy to apply to the temporary credentials. This gives you a way to further restrict the permissions for the resulting temporary security credentials. You cannot use this policy to grant permissions that exceed those of the role that is being assumed.
assume_role_role_arnstr(Optional, Available in 1.1.0+) The ARN of the role to assume. If ARN is set to an empty string, it does not perform role switching. It supports the environment variable ALICLOUD_ASSUME_ROLE_ARN. Terraform executes configuration on account with provided credentials.
assume_role_session_expirationtyping.Union[int, float](Optional, Available in 1.1.0+) The time after which the established session for assuming role expires. Valid value range: [900-3600] seconds. Default to 3600 (in this case Alibaba Cloud uses its own default value). It supports environment variable ALICLOUD_ASSUME_ROLE_SESSION_EXPIRATION.
assume_role_session_namestr(Optional, Available in 1.1.0+) The session name to use when assuming the role. If omitted, ‘terraform’ is passed to the AssumeRole call as session name. It supports environment variable ALICLOUD_ASSUME_ROLE_SESSION_NAME.
ecs_role_namestr(Optional, Available in 0.12.14+) The RAM Role Name attached on a ECS instance for API operations. You can retrieve this from the ‘Access Control’ section of the Alibaba Cloud console.
encryptbool(Optional) Whether to enable server side encryption of the state file.
endpointstr(Optional) A custom endpoint for the OSS API.
keystr(Optional) The name of the state file.
prefixstr(Optional) The path directory of the state file will be stored.
profilestr(Optional, Available in 0.12.8+) This is the Alibaba Cloud profile name as set in the shared credentials file. It can also be sourced from the ALICLOUD_PROFILE environment variable.
regionstr(Optional) The region of the OSS bucket.
secret_keystr(Optional) Alibaba Cloud secret access key.
security_tokenstr(Optional) STS access token.
shared_credentials_filestr(Optional, Available in 0.12.8+) This is the path to the shared credentials file. It can also be sourced from the ALICLOUD_SHARED_CREDENTIALS_FILE environment variable. If this is not set and a profile is specified, ~/.aliyun/config.json will be used.
sts_endpointstr(Optional, Available in 1.0.11+) Custom endpoint for the AliCloud Security Token Service (STS) API. It supports environment variable ALICLOUD_STS_ENDPOINT.
tablestore_endpointstr(Optional) A custom endpoint for the TableStore API.
tablestore_tablestr(Optional) A TableStore table for state locking and consistency.

scopeRequired

  • Type: constructs.Construct

bucketRequired

  • Type: str
(Required) The name of the OSS bucket.

access_keyOptional

  • Type: str
(Optional) Alibaba Cloud access key. It supports environment variables ALICLOUD_ACCESS_KEY and ALICLOUD_ACCESS_KEY_ID.

aclOptional

  • Type: str
(Optional) Object ACL to be applied to the state file.

assume_roleOptional

  • Deprecated: Use flattened assume role options
  • Type: OssAssumeRole

assume_role_policyOptional

  • Type: str
(Optional, Available in 1.1.0+) A more restrictive policy to apply to the temporary credentials. This gives you a way to further restrict the permissions for the resulting temporary security credentials. You cannot use this policy to grant permissions that exceed those of the role that is being assumed.

assume_role_role_arnOptional

  • Type: str
(Optional, Available in 1.1.0+) The ARN of the role to assume. If ARN is set to an empty string, it does not perform role switching. It supports the environment variable ALICLOUD_ASSUME_ROLE_ARN. Terraform executes configuration on account with provided credentials.

assume_role_session_expirationOptional

  • Type: typing.Union[int, float]
(Optional, Available in 1.1.0+) The time after which the established session for assuming role expires. Valid value range: [900-3600] seconds. Default to 3600 (in this case Alibaba Cloud uses its own default value). It supports environment variable ALICLOUD_ASSUME_ROLE_SESSION_EXPIRATION.

assume_role_session_nameOptional

  • Type: str
(Optional, Available in 1.1.0+) The session name to use when assuming the role. If omitted, ‘terraform’ is passed to the AssumeRole call as session name. It supports environment variable ALICLOUD_ASSUME_ROLE_SESSION_NAME.

ecs_role_nameOptional

  • Type: str
(Optional, Available in 0.12.14+) The RAM Role Name attached on a ECS instance for API operations. You can retrieve this from the ‘Access Control’ section of the Alibaba Cloud console.

encryptOptional

  • Type: bool
(Optional) Whether to enable server side encryption of the state file. If it is true, OSS will use ‘AES256’ encryption algorithm to encrypt state file.

endpointOptional

  • Type: str
(Optional) A custom endpoint for the OSS API. It supports environment variables ALICLOUD_OSS_ENDPOINT and OSS_ENDPOINT.

keyOptional

  • Type: str
(Optional) The name of the state file. Defaults to terraform.tfstate.

prefixOptional

  • Type: str
(Optional) The path directory of the state file will be stored. Default to “env:”.

profileOptional

  • Type: str
(Optional, Available in 0.12.8+) This is the Alibaba Cloud profile name as set in the shared credentials file. It can also be sourced from the ALICLOUD_PROFILE environment variable.

regionOptional

  • Type: str
(Optional) The region of the OSS bucket. It supports environment variables ALICLOUD_REGION and ALICLOUD_DEFAULT_REGION.

secret_keyOptional

  • Type: str
(Optional) Alibaba Cloud secret access key. It supports environment variables ALICLOUD_SECRET_KEY and ALICLOUD_ACCESS_KEY_SECRET.

security_tokenOptional

  • Type: str
(Optional) STS access token. It supports environment variable ALICLOUD_SECURITY_TOKEN.

shared_credentials_fileOptional

  • Type: str
(Optional, Available in 0.12.8+) This is the path to the shared credentials file. It can also be sourced from the ALICLOUD_SHARED_CREDENTIALS_FILE environment variable. If this is not set and a profile is specified, ~/.aliyun/config.json will be used.

sts_endpointOptional

  • Type: str
(Optional, Available in 1.0.11+) Custom endpoint for the AliCloud Security Token Service (STS) API. It supports environment variable ALICLOUD_STS_ENDPOINT.

tablestore_endpointOptional

  • Type: str
(Optional) A custom endpoint for the TableStore API.

tablestore_tableOptional

  • Type: str
(Optional) A TableStore table for state locking and consistency. The table must have a primary key named LockID of type String.

Methods

NameDescription
to_stringReturns a string representation of this construct.
add_overrideNo description.
override_logical_idOverrides the auto-generated logical ID with a specific ID.
reset_override_logical_idResets a previously passed logical Id to use the auto-generated logical id again.
to_hcl_terraformNo description.
to_metadataNo description.
to_terraformAdds this resource to the terraform JSON output.
get_remote_state_data_sourceCreates a TerraformRemoteState resource that accesses this backend.

to_string

def to_string() -> str
Returns a string representation of this construct.

add_override

def add_override(
  path: str,
  value: typing.Any
) -> None

pathRequired

  • Type: str

valueRequired

  • Type: typing.Any

override_logical_id

def override_logical_id(
  new_logical_id: str
) -> None
Overrides the auto-generated logical ID with a specific ID.

new_logical_idRequired

  • Type: str
The new logical ID to use for this stack element.

reset_override_logical_id

def reset_override_logical_id() -> None
Resets a previously passed logical Id to use the auto-generated logical id again.

to_hcl_terraform

def to_hcl_terraform() -> typing.Any

to_metadata

def to_metadata() -> typing.Any

to_terraform

def to_terraform() -> typing.Any
Adds this resource to the terraform JSON output.

get_remote_state_data_source

def get_remote_state_data_source(
  scope: Construct,
  name: str,
  _fromstack: str
) -> TerraformRemoteState
Creates a TerraformRemoteState resource that accesses this backend.

scopeRequired

  • Type: constructs.Construct

nameRequired

  • Type: str

_fromstackRequired

  • Type: str

Static Functions

NameDescription
is_constructChecks if x is a construct.
is_terraform_elementNo description.
is_backendNo description.

is_construct

import cdktn

cdktn.OssBackend.is_construct(
  x: typing.Any
)
Checks if x is a construct. Use this method instead of instanceof to properly detect Construct instances, even when the construct library is symlinked. Explanation: in JavaScript, multiple copies of the constructs library on disk are seen as independent, completely different libraries. As a consequence, the class Construct in each copy of the constructs library is seen as a different class, and an instance of one class will not test as instanceof the other class. npm install will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the constructs library can be accidentally installed, and instanceof will behave unpredictably. It is safest to avoid using instanceof, and using this type-testing method instead.

xRequired

  • Type: typing.Any
Any object.

is_terraform_element

import cdktn

cdktn.OssBackend.is_terraform_element(
  x: typing.Any
)

xRequired

  • Type: typing.Any

is_backend

import cdktn

cdktn.OssBackend.is_backend(
  x: typing.Any
)

xRequired

  • Type: typing.Any

Properties

NameTypeDescription
nodeconstructs.NodeThe tree node.
cdktf_stackTerraformStackNo description.
fqnstrNo description.
friendly_unique_idstrNo description.

nodeRequired

node: Node
  • Type: constructs.Node
The tree node.

cdktf_stackRequired

cdktf_stack: TerraformStack

fqnRequired

fqn: str
  • Type: str

friendly_unique_idRequired

friendly_unique_id: str
  • Type: str