Skip to content

Latest commit

 

History

History
1229 lines (785 loc) · 55.1 KB

vpcIpamPoolCidrAllocation.python.md

File metadata and controls

1229 lines (785 loc) · 55.1 KB

vpcIpamPoolCidrAllocation Submodule

Constructs

VpcIpamPoolCidrAllocation

Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/5.78.0/docs/resources/vpc_ipam_pool_cidr_allocation aws_vpc_ipam_pool_cidr_allocation}.

Initializers

from cdktf_cdktf_provider_aws import vpc_ipam_pool_cidr_allocation

vpcIpamPoolCidrAllocation.VpcIpamPoolCidrAllocation(
  scope: Construct,
  id: str,
  connection: typing.Union[SSHProvisionerConnection, WinrmProvisionerConnection] = None,
  count: typing.Union[typing.Union[int, float], TerraformCount] = None,
  depends_on: typing.List[ITerraformDependable] = None,
  for_each: ITerraformIterator = None,
  lifecycle: TerraformResourceLifecycle = None,
  provider: TerraformProvider = None,
  provisioners: typing.List[typing.Union[FileProvisioner, LocalExecProvisioner, RemoteExecProvisioner]] = None,
  ipam_pool_id: str,
  cidr: str = None,
  description: str = None,
  disallowed_cidrs: typing.List[str] = None,
  id: str = None,
  netmask_length: typing.Union[int, float] = None
)
Name Type Description
scope constructs.Construct The scope in which to define this construct.
id str The scoped construct ID.
connection typing.Union[cdktf.SSHProvisionerConnection, cdktf.WinrmProvisionerConnection] No description.
count typing.Union[typing.Union[int, float], cdktf.TerraformCount] No description.
depends_on typing.List[cdktf.ITerraformDependable] No description.
for_each cdktf.ITerraformIterator No description.
lifecycle cdktf.TerraformResourceLifecycle No description.
provider cdktf.TerraformProvider No description.
provisioners typing.List[typing.Union[cdktf.FileProvisioner, cdktf.LocalExecProvisioner, cdktf.RemoteExecProvisioner]] No description.
ipam_pool_id str Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.78.0/docs/resources/vpc_ipam_pool_cidr_allocation#ipam_pool_id VpcIpamPoolCidrAllocation#ipam_pool_id}.
cidr str Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.78.0/docs/resources/vpc_ipam_pool_cidr_allocation#cidr VpcIpamPoolCidrAllocation#cidr}.
description str Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.78.0/docs/resources/vpc_ipam_pool_cidr_allocation#description VpcIpamPoolCidrAllocation#description}.
disallowed_cidrs typing.List[str] Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.78.0/docs/resources/vpc_ipam_pool_cidr_allocation#disallowed_cidrs VpcIpamPoolCidrAllocation#disallowed_cidrs}.
id str Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.78.0/docs/resources/vpc_ipam_pool_cidr_allocation#id VpcIpamPoolCidrAllocation#id}.
netmask_length typing.Union[int, float] Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.78.0/docs/resources/vpc_ipam_pool_cidr_allocation#netmask_length VpcIpamPoolCidrAllocation#netmask_length}.

scopeRequired
  • Type: constructs.Construct

The scope in which to define this construct.


idRequired
  • Type: str

The scoped construct ID.

Must be unique amongst siblings in the same scope


connectionOptional
  • Type: typing.Union[cdktf.SSHProvisionerConnection, cdktf.WinrmProvisionerConnection]

countOptional
  • Type: typing.Union[typing.Union[int, float], cdktf.TerraformCount]

depends_onOptional
  • Type: typing.List[cdktf.ITerraformDependable]

for_eachOptional
  • Type: cdktf.ITerraformIterator

lifecycleOptional
  • Type: cdktf.TerraformResourceLifecycle

providerOptional
  • Type: cdktf.TerraformProvider

provisionersOptional
  • Type: typing.List[typing.Union[cdktf.FileProvisioner, cdktf.LocalExecProvisioner, cdktf.RemoteExecProvisioner]]

ipam_pool_idRequired
  • Type: str

Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.78.0/docs/resources/vpc_ipam_pool_cidr_allocation#ipam_pool_id VpcIpamPoolCidrAllocation#ipam_pool_id}.


cidrOptional
  • Type: str

Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.78.0/docs/resources/vpc_ipam_pool_cidr_allocation#cidr VpcIpamPoolCidrAllocation#cidr}.


descriptionOptional
  • Type: str

Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.78.0/docs/resources/vpc_ipam_pool_cidr_allocation#description VpcIpamPoolCidrAllocation#description}.


disallowed_cidrsOptional
  • Type: typing.List[str]

Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.78.0/docs/resources/vpc_ipam_pool_cidr_allocation#disallowed_cidrs VpcIpamPoolCidrAllocation#disallowed_cidrs}.


idOptional
  • Type: str

Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.78.0/docs/resources/vpc_ipam_pool_cidr_allocation#id VpcIpamPoolCidrAllocation#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.


netmask_lengthOptional
  • Type: typing.Union[int, float]

Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.78.0/docs/resources/vpc_ipam_pool_cidr_allocation#netmask_length VpcIpamPoolCidrAllocation#netmask_length}.


Methods

Name Description
to_string Returns a string representation of this construct.
add_override No description.
override_logical_id Overrides the auto-generated logical ID with a specific ID.
reset_override_logical_id Resets a previously passed logical Id to use the auto-generated logical id again.
to_hcl_terraform No description.
to_metadata No description.
to_terraform Adds this resource to the terraform JSON output.
add_move_target Adds a user defined moveTarget string to this resource to be later used in .moveTo(moveTarget) to resolve the location of the move.
get_any_map_attribute No description.
get_boolean_attribute No description.
get_boolean_map_attribute No description.
get_list_attribute No description.
get_number_attribute No description.
get_number_list_attribute No description.
get_number_map_attribute No description.
get_string_attribute No description.
get_string_map_attribute No description.
has_resource_move No description.
import_from No description.
interpolation_for_attribute No description.
move_from_id Move the resource corresponding to "id" to this resource.
move_to Moves this resource to the target resource given by moveTarget.
move_to_id Moves this resource to the resource corresponding to "id".
reset_cidr No description.
reset_description No description.
reset_disallowed_cidrs No description.
reset_id No description.
reset_netmask_length No description.

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.

add_move_target
def add_move_target(
  move_target: str
) -> None

Adds a user defined moveTarget string to this resource to be later used in .moveTo(moveTarget) to resolve the location of the move.

move_targetRequired
  • Type: str

The string move target that will correspond to this resource.


get_any_map_attribute
def get_any_map_attribute(
  terraform_attribute: str
) -> typing.Mapping[typing.Any]
terraform_attributeRequired
  • Type: str

get_boolean_attribute
def get_boolean_attribute(
  terraform_attribute: str
) -> IResolvable
terraform_attributeRequired
  • Type: str

get_boolean_map_attribute
def get_boolean_map_attribute(
  terraform_attribute: str
) -> typing.Mapping[bool]
terraform_attributeRequired
  • Type: str

get_list_attribute
def get_list_attribute(
  terraform_attribute: str
) -> typing.List[str]
terraform_attributeRequired
  • Type: str

get_number_attribute
def get_number_attribute(
  terraform_attribute: str
) -> typing.Union[int, float]
terraform_attributeRequired
  • Type: str

get_number_list_attribute
def get_number_list_attribute(
  terraform_attribute: str
) -> typing.List[typing.Union[int, float]]
terraform_attributeRequired
  • Type: str

get_number_map_attribute
def get_number_map_attribute(
  terraform_attribute: str
) -> typing.Mapping[typing.Union[int, float]]
terraform_attributeRequired
  • Type: str

get_string_attribute
def get_string_attribute(
  terraform_attribute: str
) -> str
terraform_attributeRequired
  • Type: str

get_string_map_attribute
def get_string_map_attribute(
  terraform_attribute: str
) -> typing.Mapping[str]
terraform_attributeRequired
  • Type: str

has_resource_move
def has_resource_move() -> typing.Union[TerraformResourceMoveByTarget, TerraformResourceMoveById]
import_from
def import_from(
  id: str,
  provider: TerraformProvider = None
) -> None
idRequired
  • Type: str

providerOptional
  • Type: cdktf.TerraformProvider

interpolation_for_attribute
def interpolation_for_attribute(
  terraform_attribute: str
) -> IResolvable
terraform_attributeRequired
  • Type: str

move_from_id
def move_from_id(
  id: str
) -> None

Move the resource corresponding to "id" to this resource.

Note that the resource being moved from must be marked as moved using it's instance function.

idRequired
  • Type: str

Full id of resource being moved from, e.g. "aws_s3_bucket.example".


move_to
def move_to(
  move_target: str,
  index: typing.Union[str, typing.Union[int, float]] = None
) -> None

Moves this resource to the target resource given by moveTarget.

move_targetRequired
  • Type: str

The previously set user defined string set by .addMoveTarget() corresponding to the resource to move to.


indexOptional
  • Type: typing.Union[str, typing.Union[int, float]]

Optional The index corresponding to the key the resource is to appear in the foreach of a resource to move to.


move_to_id
def move_to_id(
  id: str
) -> None

Moves this resource to the resource corresponding to "id".

idRequired
  • Type: str

Full id of resource to move to, e.g. "aws_s3_bucket.example".


reset_cidr
def reset_cidr() -> None
reset_description
def reset_description() -> None
reset_disallowed_cidrs
def reset_disallowed_cidrs() -> None
reset_id
def reset_id() -> None
reset_netmask_length
def reset_netmask_length() -> None

Static Functions

Name Description
is_construct Checks if x is a construct.
is_terraform_element No description.
is_terraform_resource No description.
generate_config_for_import Generates CDKTF code for importing a VpcIpamPoolCidrAllocation resource upon running "cdktf plan ".

is_construct
from cdktf_cdktf_provider_aws import vpc_ipam_pool_cidr_allocation

vpcIpamPoolCidrAllocation.VpcIpamPoolCidrAllocation.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
from cdktf_cdktf_provider_aws import vpc_ipam_pool_cidr_allocation

vpcIpamPoolCidrAllocation.VpcIpamPoolCidrAllocation.is_terraform_element(
  x: typing.Any
)
xRequired
  • Type: typing.Any

is_terraform_resource
from cdktf_cdktf_provider_aws import vpc_ipam_pool_cidr_allocation

vpcIpamPoolCidrAllocation.VpcIpamPoolCidrAllocation.is_terraform_resource(
  x: typing.Any
)
xRequired
  • Type: typing.Any

generate_config_for_import
from cdktf_cdktf_provider_aws import vpc_ipam_pool_cidr_allocation

vpcIpamPoolCidrAllocation.VpcIpamPoolCidrAllocation.generate_config_for_import(
  scope: Construct,
  import_to_id: str,
  import_from_id: str,
  provider: TerraformProvider = None
)

Generates CDKTF code for importing a VpcIpamPoolCidrAllocation resource upon running "cdktf plan ".

scopeRequired
  • Type: constructs.Construct

The scope in which to define this construct.


import_to_idRequired
  • Type: str

The construct id used in the generated config for the VpcIpamPoolCidrAllocation to import.


import_from_idRequired
  • Type: str

The id of the existing VpcIpamPoolCidrAllocation that should be imported.

Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/5.78.0/docs/resources/vpc_ipam_pool_cidr_allocation#import import section} in the documentation of this resource for the id to use


providerOptional
  • Type: cdktf.TerraformProvider

? Optional instance of the provider where the VpcIpamPoolCidrAllocation to import is found.


Properties

Name Type Description
node constructs.Node The tree node.
cdktf_stack cdktf.TerraformStack No description.
fqn str No description.
friendly_unique_id str No description.
terraform_meta_arguments typing.Mapping[typing.Any] No description.
terraform_resource_type str No description.
terraform_generator_metadata cdktf.TerraformProviderGeneratorMetadata No description.
connection typing.Union[cdktf.SSHProvisionerConnection, cdktf.WinrmProvisionerConnection] No description.
count typing.Union[typing.Union[int, float], cdktf.TerraformCount] No description.
depends_on typing.List[str] No description.
for_each cdktf.ITerraformIterator No description.
lifecycle cdktf.TerraformResourceLifecycle No description.
provider cdktf.TerraformProvider No description.
provisioners typing.List[typing.Union[cdktf.FileProvisioner, cdktf.LocalExecProvisioner, cdktf.RemoteExecProvisioner]] No description.
ipam_pool_allocation_id str No description.
resource_id str No description.
resource_owner str No description.
resource_type str No description.
cidr_input str No description.
description_input str No description.
disallowed_cidrs_input typing.List[str] No description.
id_input str No description.
ipam_pool_id_input str No description.
netmask_length_input typing.Union[int, float] No description.
cidr str No description.
description str No description.
disallowed_cidrs typing.List[str] No description.
id str No description.
ipam_pool_id str No description.
netmask_length typing.Union[int, float] No description.

nodeRequired
node: Node
  • Type: constructs.Node

The tree node.


cdktf_stackRequired
cdktf_stack: TerraformStack
  • Type: cdktf.TerraformStack

fqnRequired
fqn: str
  • Type: str

friendly_unique_idRequired
friendly_unique_id: str
  • Type: str

terraform_meta_argumentsRequired
terraform_meta_arguments: typing.Mapping[typing.Any]
  • Type: typing.Mapping[typing.Any]

terraform_resource_typeRequired
terraform_resource_type: str
  • Type: str

terraform_generator_metadataOptional
terraform_generator_metadata: TerraformProviderGeneratorMetadata
  • Type: cdktf.TerraformProviderGeneratorMetadata

connectionOptional
connection: typing.Union[SSHProvisionerConnection, WinrmProvisionerConnection]
  • Type: typing.Union[cdktf.SSHProvisionerConnection, cdktf.WinrmProvisionerConnection]

countOptional
count: typing.Union[typing.Union[int, float], TerraformCount]
  • Type: typing.Union[typing.Union[int, float], cdktf.TerraformCount]

depends_onOptional
depends_on: typing.List[str]
  • Type: typing.List[str]

for_eachOptional
for_each: ITerraformIterator
  • Type: cdktf.ITerraformIterator

lifecycleOptional
lifecycle: TerraformResourceLifecycle
  • Type: cdktf.TerraformResourceLifecycle

providerOptional
provider: TerraformProvider
  • Type: cdktf.TerraformProvider

provisionersOptional
provisioners: typing.List[typing.Union[FileProvisioner, LocalExecProvisioner, RemoteExecProvisioner]]
  • Type: typing.List[typing.Union[cdktf.FileProvisioner, cdktf.LocalExecProvisioner, cdktf.RemoteExecProvisioner]]

ipam_pool_allocation_idRequired
ipam_pool_allocation_id: str
  • Type: str

resource_idRequired
resource_id: str
  • Type: str

resource_ownerRequired
resource_owner: str
  • Type: str

resource_typeRequired
resource_type: str
  • Type: str

cidr_inputOptional
cidr_input: str
  • Type: str

description_inputOptional
description_input: str
  • Type: str

disallowed_cidrs_inputOptional
disallowed_cidrs_input: typing.List[str]
  • Type: typing.List[str]

id_inputOptional
id_input: str
  • Type: str

ipam_pool_id_inputOptional
ipam_pool_id_input: str
  • Type: str

netmask_length_inputOptional
netmask_length_input: typing.Union[int, float]
  • Type: typing.Union[int, float]

cidrRequired
cidr: str
  • Type: str

descriptionRequired
description: str
  • Type: str

disallowed_cidrsRequired
disallowed_cidrs: typing.List[str]
  • Type: typing.List[str]

idRequired
id: str
  • Type: str

ipam_pool_idRequired
ipam_pool_id: str
  • Type: str

netmask_lengthRequired
netmask_length: typing.Union[int, float]
  • Type: typing.Union[int, float]

Constants

Name Type Description
tfResourceType str No description.

tfResourceTypeRequired
tfResourceType: str
  • Type: str

Structs

VpcIpamPoolCidrAllocationConfig

Initializer

from cdktf_cdktf_provider_aws import vpc_ipam_pool_cidr_allocation

vpcIpamPoolCidrAllocation.VpcIpamPoolCidrAllocationConfig(
  connection: typing.Union[SSHProvisionerConnection, WinrmProvisionerConnection] = None,
  count: typing.Union[typing.Union[int, float], TerraformCount] = None,
  depends_on: typing.List[ITerraformDependable] = None,
  for_each: ITerraformIterator = None,
  lifecycle: TerraformResourceLifecycle = None,
  provider: TerraformProvider = None,
  provisioners: typing.List[typing.Union[FileProvisioner, LocalExecProvisioner, RemoteExecProvisioner]] = None,
  ipam_pool_id: str,
  cidr: str = None,
  description: str = None,
  disallowed_cidrs: typing.List[str] = None,
  id: str = None,
  netmask_length: typing.Union[int, float] = None
)

Properties

Name Type Description
connection typing.Union[cdktf.SSHProvisionerConnection, cdktf.WinrmProvisionerConnection] No description.
count typing.Union[typing.Union[int, float], cdktf.TerraformCount] No description.
depends_on typing.List[cdktf.ITerraformDependable] No description.
for_each cdktf.ITerraformIterator No description.
lifecycle cdktf.TerraformResourceLifecycle No description.
provider cdktf.TerraformProvider No description.
provisioners typing.List[typing.Union[cdktf.FileProvisioner, cdktf.LocalExecProvisioner, cdktf.RemoteExecProvisioner]] No description.
ipam_pool_id str Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.78.0/docs/resources/vpc_ipam_pool_cidr_allocation#ipam_pool_id VpcIpamPoolCidrAllocation#ipam_pool_id}.
cidr str Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.78.0/docs/resources/vpc_ipam_pool_cidr_allocation#cidr VpcIpamPoolCidrAllocation#cidr}.
description str Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.78.0/docs/resources/vpc_ipam_pool_cidr_allocation#description VpcIpamPoolCidrAllocation#description}.
disallowed_cidrs typing.List[str] Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.78.0/docs/resources/vpc_ipam_pool_cidr_allocation#disallowed_cidrs VpcIpamPoolCidrAllocation#disallowed_cidrs}.
id str Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.78.0/docs/resources/vpc_ipam_pool_cidr_allocation#id VpcIpamPoolCidrAllocation#id}.
netmask_length typing.Union[int, float] Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.78.0/docs/resources/vpc_ipam_pool_cidr_allocation#netmask_length VpcIpamPoolCidrAllocation#netmask_length}.

connectionOptional
connection: typing.Union[SSHProvisionerConnection, WinrmProvisionerConnection]
  • Type: typing.Union[cdktf.SSHProvisionerConnection, cdktf.WinrmProvisionerConnection]

countOptional
count: typing.Union[typing.Union[int, float], TerraformCount]
  • Type: typing.Union[typing.Union[int, float], cdktf.TerraformCount]

depends_onOptional
depends_on: typing.List[ITerraformDependable]
  • Type: typing.List[cdktf.ITerraformDependable]

for_eachOptional
for_each: ITerraformIterator
  • Type: cdktf.ITerraformIterator

lifecycleOptional
lifecycle: TerraformResourceLifecycle
  • Type: cdktf.TerraformResourceLifecycle

providerOptional
provider: TerraformProvider
  • Type: cdktf.TerraformProvider

provisionersOptional
provisioners: typing.List[typing.Union[FileProvisioner, LocalExecProvisioner, RemoteExecProvisioner]]
  • Type: typing.List[typing.Union[cdktf.FileProvisioner, cdktf.LocalExecProvisioner, cdktf.RemoteExecProvisioner]]

ipam_pool_idRequired
ipam_pool_id: str
  • Type: str

Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.78.0/docs/resources/vpc_ipam_pool_cidr_allocation#ipam_pool_id VpcIpamPoolCidrAllocation#ipam_pool_id}.


cidrOptional
cidr: str
  • Type: str

Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.78.0/docs/resources/vpc_ipam_pool_cidr_allocation#cidr VpcIpamPoolCidrAllocation#cidr}.


descriptionOptional
description: str
  • Type: str

Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.78.0/docs/resources/vpc_ipam_pool_cidr_allocation#description VpcIpamPoolCidrAllocation#description}.


disallowed_cidrsOptional
disallowed_cidrs: typing.List[str]
  • Type: typing.List[str]

Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.78.0/docs/resources/vpc_ipam_pool_cidr_allocation#disallowed_cidrs VpcIpamPoolCidrAllocation#disallowed_cidrs}.


idOptional
id: str
  • Type: str

Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.78.0/docs/resources/vpc_ipam_pool_cidr_allocation#id VpcIpamPoolCidrAllocation#id}.

Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.


netmask_lengthOptional
netmask_length: typing.Union[int, float]
  • Type: typing.Union[int, float]

Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.78.0/docs/resources/vpc_ipam_pool_cidr_allocation#netmask_length VpcIpamPoolCidrAllocation#netmask_length}.