Class Instance

  • All Implemented Interfaces:
    com.hashicorp.cdktf.IInterpolatingParent, com.hashicorp.cdktf.ITerraformAddressable, com.hashicorp.cdktf.ITerraformDependable, com.hashicorp.cdktf.ITerraformResource, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct, software.constructs.IDependable

    @Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)",
               date="2023-06-30T04:56:53.352Z")
    @Stability(Stable)
    public class Instance
    extends com.hashicorp.cdktf.TerraformResource
    Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance aws_instance}.
    • Field Detail

      • TF_RESOURCE_TYPE

        @Stability(Stable)
        public static final String TF_RESOURCE_TYPE
    • Constructor Detail

      • Instance

        protected Instance​(software.amazon.jsii.JsiiObjectRef objRef)
      • Instance

        protected Instance​(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
      • Instance

        @Stability(Stable)
        public Instance​(@NotNull
                        software.constructs.Construct scope,
                        @NotNull
                        String id,
                        @Nullable
                        InstanceConfig config)
        Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance aws_instance} Resource.

        Parameters:
        scope - The scope in which to define this construct. This parameter is required.
        id - The scoped construct ID. This parameter is required.
        config -
      • Instance

        @Stability(Stable)
        public Instance​(@NotNull
                        software.constructs.Construct scope,
                        @NotNull
                        String id)
        Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/instance aws_instance} Resource.

        Parameters:
        scope - The scope in which to define this construct. This parameter is required.
        id - The scoped construct ID. This parameter is required.
    • Method Detail

      • putCapacityReservationSpecification

        @Stability(Stable)
        public void putCapacityReservationSpecification​(@NotNull
                                                        InstanceCapacityReservationSpecification value)
        Parameters:
        value - This parameter is required.
      • putCpuOptions

        @Stability(Stable)
        public void putCpuOptions​(@NotNull
                                  InstanceCpuOptions value)
        Parameters:
        value - This parameter is required.
      • putCreditSpecification

        @Stability(Stable)
        public void putCreditSpecification​(@NotNull
                                           InstanceCreditSpecification value)
        Parameters:
        value - This parameter is required.
      • putEbsBlockDevice

        @Stability(Stable)
        public void putEbsBlockDevice​(@NotNull
                                      Object value)
        Parameters:
        value - This parameter is required.
      • putEnclaveOptions

        @Stability(Stable)
        public void putEnclaveOptions​(@NotNull
                                      InstanceEnclaveOptions value)
        Parameters:
        value - This parameter is required.
      • putEphemeralBlockDevice

        @Stability(Stable)
        public void putEphemeralBlockDevice​(@NotNull
                                            Object value)
        Parameters:
        value - This parameter is required.
      • putInstanceMarketOptions

        @Stability(Stable)
        public void putInstanceMarketOptions​(@NotNull
                                             InstanceInstanceMarketOptions value)
        Parameters:
        value - This parameter is required.
      • putLaunchTemplate

        @Stability(Stable)
        public void putLaunchTemplate​(@NotNull
                                      InstanceLaunchTemplate value)
        Parameters:
        value - This parameter is required.
      • putMaintenanceOptions

        @Stability(Stable)
        public void putMaintenanceOptions​(@NotNull
                                          InstanceMaintenanceOptions value)
        Parameters:
        value - This parameter is required.
      • putMetadataOptions

        @Stability(Stable)
        public void putMetadataOptions​(@NotNull
                                       InstanceMetadataOptions value)
        Parameters:
        value - This parameter is required.
      • putNetworkInterface

        @Stability(Stable)
        public void putNetworkInterface​(@NotNull
                                        Object value)
        Parameters:
        value - This parameter is required.
      • putPrivateDnsNameOptions

        @Stability(Stable)
        public void putPrivateDnsNameOptions​(@NotNull
                                             InstancePrivateDnsNameOptions value)
        Parameters:
        value - This parameter is required.
      • putRootBlockDevice

        @Stability(Stable)
        public void putRootBlockDevice​(@NotNull
                                       InstanceRootBlockDevice value)
        Parameters:
        value - This parameter is required.
      • putTimeouts

        @Stability(Stable)
        public void putTimeouts​(@NotNull
                                InstanceTimeouts value)
        Parameters:
        value - This parameter is required.
      • resetAmi

        @Stability(Stable)
        public void resetAmi()
      • resetAssociatePublicIpAddress

        @Stability(Stable)
        public void resetAssociatePublicIpAddress()
      • resetAvailabilityZone

        @Stability(Stable)
        public void resetAvailabilityZone()
      • resetCapacityReservationSpecification

        @Stability(Stable)
        public void resetCapacityReservationSpecification()
      • resetCpuCoreCount

        @Stability(Stable)
        public void resetCpuCoreCount()
      • resetCpuOptions

        @Stability(Stable)
        public void resetCpuOptions()
      • resetCpuThreadsPerCore

        @Stability(Stable)
        public void resetCpuThreadsPerCore()
      • resetCreditSpecification

        @Stability(Stable)
        public void resetCreditSpecification()
      • resetDisableApiStop

        @Stability(Stable)
        public void resetDisableApiStop()
      • resetDisableApiTermination

        @Stability(Stable)
        public void resetDisableApiTermination()
      • resetEbsBlockDevice

        @Stability(Stable)
        public void resetEbsBlockDevice()
      • resetEbsOptimized

        @Stability(Stable)
        public void resetEbsOptimized()
      • resetEnclaveOptions

        @Stability(Stable)
        public void resetEnclaveOptions()
      • resetEphemeralBlockDevice

        @Stability(Stable)
        public void resetEphemeralBlockDevice()
      • resetFetchPasswordData

        @Stability(Stable)
        public void resetFetchPasswordData()
      • resetHibernation

        @Stability(Stable)
        public void resetHibernation()
      • resetHostId

        @Stability(Stable)
        public void resetHostId()
      • resetHostResourceGroupArn

        @Stability(Stable)
        public void resetHostResourceGroupArn()
      • resetIamInstanceProfile

        @Stability(Stable)
        public void resetIamInstanceProfile()
      • resetId

        @Stability(Stable)
        public void resetId()
      • resetInstanceInitiatedShutdownBehavior

        @Stability(Stable)
        public void resetInstanceInitiatedShutdownBehavior()
      • resetInstanceMarketOptions

        @Stability(Stable)
        public void resetInstanceMarketOptions()
      • resetInstanceType

        @Stability(Stable)
        public void resetInstanceType()
      • resetIpv6AddressCount

        @Stability(Stable)
        public void resetIpv6AddressCount()
      • resetIpv6Addresses

        @Stability(Stable)
        public void resetIpv6Addresses()
      • resetKeyName

        @Stability(Stable)
        public void resetKeyName()
      • resetLaunchTemplate

        @Stability(Stable)
        public void resetLaunchTemplate()
      • resetMaintenanceOptions

        @Stability(Stable)
        public void resetMaintenanceOptions()
      • resetMetadataOptions

        @Stability(Stable)
        public void resetMetadataOptions()
      • resetMonitoring

        @Stability(Stable)
        public void resetMonitoring()
      • resetNetworkInterface

        @Stability(Stable)
        public void resetNetworkInterface()
      • resetPlacementGroup

        @Stability(Stable)
        public void resetPlacementGroup()
      • resetPlacementPartitionNumber

        @Stability(Stable)
        public void resetPlacementPartitionNumber()
      • resetPrivateDnsNameOptions

        @Stability(Stable)
        public void resetPrivateDnsNameOptions()
      • resetPrivateIp

        @Stability(Stable)
        public void resetPrivateIp()
      • resetRootBlockDevice

        @Stability(Stable)
        public void resetRootBlockDevice()
      • resetSecondaryPrivateIps

        @Stability(Stable)
        public void resetSecondaryPrivateIps()
      • resetSecurityGroups

        @Stability(Stable)
        public void resetSecurityGroups()
      • resetSourceDestCheck

        @Stability(Stable)
        public void resetSourceDestCheck()
      • resetSubnetId

        @Stability(Stable)
        public void resetSubnetId()
      • resetTags

        @Stability(Stable)
        public void resetTags()
      • resetTagsAll

        @Stability(Stable)
        public void resetTagsAll()
      • resetTenancy

        @Stability(Stable)
        public void resetTenancy()
      • resetTimeouts

        @Stability(Stable)
        public void resetTimeouts()
      • resetUserData

        @Stability(Stable)
        public void resetUserData()
      • resetUserDataBase64

        @Stability(Stable)
        public void resetUserDataBase64()
      • resetUserDataReplaceOnChange

        @Stability(Stable)
        public void resetUserDataReplaceOnChange()
      • resetVolumeTags

        @Stability(Stable)
        public void resetVolumeTags()
      • resetVpcSecurityGroupIds

        @Stability(Stable)
        public void resetVpcSecurityGroupIds()
      • synthesizeAttributes

        @Stability(Stable)
        @NotNull
        protected Map<String,​Object> synthesizeAttributes()
        Overrides:
        synthesizeAttributes in class com.hashicorp.cdktf.TerraformResource
      • getArn

        @Stability(Stable)
        @NotNull
        public String getArn()
      • getInstanceLifecycle

        @Stability(Stable)
        @NotNull
        public String getInstanceLifecycle()
      • getInstanceState

        @Stability(Stable)
        @NotNull
        public String getInstanceState()
      • getOutpostArn

        @Stability(Stable)
        @NotNull
        public String getOutpostArn()
      • getPasswordData

        @Stability(Stable)
        @NotNull
        public String getPasswordData()
      • getPrimaryNetworkInterfaceId

        @Stability(Stable)
        @NotNull
        public String getPrimaryNetworkInterfaceId()
      • getPrivateDns

        @Stability(Stable)
        @NotNull
        public String getPrivateDns()
      • getPublicDns

        @Stability(Stable)
        @NotNull
        public String getPublicDns()
      • getPublicIp

        @Stability(Stable)
        @NotNull
        public String getPublicIp()
      • getSpotInstanceRequestId

        @Stability(Stable)
        @NotNull
        public String getSpotInstanceRequestId()
      • getAmiInput

        @Stability(Stable)
        @Nullable
        public String getAmiInput()
      • getAssociatePublicIpAddressInput

        @Stability(Stable)
        @Nullable
        public Object getAssociatePublicIpAddressInput()
      • getAvailabilityZoneInput

        @Stability(Stable)
        @Nullable
        public String getAvailabilityZoneInput()
      • getCpuCoreCountInput

        @Stability(Stable)
        @Nullable
        public Number getCpuCoreCountInput()
      • getCpuOptionsInput

        @Stability(Stable)
        @Nullable
        public InstanceCpuOptions getCpuOptionsInput()
      • getCpuThreadsPerCoreInput

        @Stability(Stable)
        @Nullable
        public Number getCpuThreadsPerCoreInput()
      • getDisableApiStopInput

        @Stability(Stable)
        @Nullable
        public Object getDisableApiStopInput()
      • getDisableApiTerminationInput

        @Stability(Stable)
        @Nullable
        public Object getDisableApiTerminationInput()
      • getEbsBlockDeviceInput

        @Stability(Stable)
        @Nullable
        public Object getEbsBlockDeviceInput()
      • getEbsOptimizedInput

        @Stability(Stable)
        @Nullable
        public Object getEbsOptimizedInput()
      • getEnclaveOptionsInput

        @Stability(Stable)
        @Nullable
        public InstanceEnclaveOptions getEnclaveOptionsInput()
      • getEphemeralBlockDeviceInput

        @Stability(Stable)
        @Nullable
        public Object getEphemeralBlockDeviceInput()
      • getFetchPasswordDataInput

        @Stability(Stable)
        @Nullable
        public Object getFetchPasswordDataInput()
      • getHibernationInput

        @Stability(Stable)
        @Nullable
        public Object getHibernationInput()
      • getHostIdInput

        @Stability(Stable)
        @Nullable
        public String getHostIdInput()
      • getHostResourceGroupArnInput

        @Stability(Stable)
        @Nullable
        public String getHostResourceGroupArnInput()
      • getIamInstanceProfileInput

        @Stability(Stable)
        @Nullable
        public String getIamInstanceProfileInput()
      • getIdInput

        @Stability(Stable)
        @Nullable
        public String getIdInput()
      • getInstanceInitiatedShutdownBehaviorInput

        @Stability(Stable)
        @Nullable
        public String getInstanceInitiatedShutdownBehaviorInput()
      • getInstanceTypeInput

        @Stability(Stable)
        @Nullable
        public String getInstanceTypeInput()
      • getIpv6AddressCountInput

        @Stability(Stable)
        @Nullable
        public Number getIpv6AddressCountInput()
      • getIpv6AddressesInput

        @Stability(Stable)
        @Nullable
        public List<String> getIpv6AddressesInput()
      • getKeyNameInput

        @Stability(Stable)
        @Nullable
        public String getKeyNameInput()
      • getLaunchTemplateInput

        @Stability(Stable)
        @Nullable
        public InstanceLaunchTemplate getLaunchTemplateInput()
      • getMonitoringInput

        @Stability(Stable)
        @Nullable
        public Object getMonitoringInput()
      • getNetworkInterfaceInput

        @Stability(Stable)
        @Nullable
        public Object getNetworkInterfaceInput()
      • getPlacementGroupInput

        @Stability(Stable)
        @Nullable
        public String getPlacementGroupInput()
      • getPlacementPartitionNumberInput

        @Stability(Stable)
        @Nullable
        public Number getPlacementPartitionNumberInput()
      • getPrivateIpInput

        @Stability(Stable)
        @Nullable
        public String getPrivateIpInput()
      • getSecondaryPrivateIpsInput

        @Stability(Stable)
        @Nullable
        public List<String> getSecondaryPrivateIpsInput()
      • getSecurityGroupsInput

        @Stability(Stable)
        @Nullable
        public List<String> getSecurityGroupsInput()
      • getSourceDestCheckInput

        @Stability(Stable)
        @Nullable
        public Object getSourceDestCheckInput()
      • getSubnetIdInput

        @Stability(Stable)
        @Nullable
        public String getSubnetIdInput()
      • getTagsAllInput

        @Stability(Stable)
        @Nullable
        public Map<String,​String> getTagsAllInput()
      • getTagsInput

        @Stability(Stable)
        @Nullable
        public Map<String,​String> getTagsInput()
      • getTenancyInput

        @Stability(Stable)
        @Nullable
        public String getTenancyInput()
      • getTimeoutsInput

        @Stability(Stable)
        @Nullable
        public Object getTimeoutsInput()
      • getUserDataBase64Input

        @Stability(Stable)
        @Nullable
        public String getUserDataBase64Input()
      • getUserDataInput

        @Stability(Stable)
        @Nullable
        public String getUserDataInput()
      • getUserDataReplaceOnChangeInput

        @Stability(Stable)
        @Nullable
        public Object getUserDataReplaceOnChangeInput()
      • getVolumeTagsInput

        @Stability(Stable)
        @Nullable
        public Map<String,​String> getVolumeTagsInput()
      • getVpcSecurityGroupIdsInput

        @Stability(Stable)
        @Nullable
        public List<String> getVpcSecurityGroupIdsInput()
      • getAmi

        @Stability(Stable)
        @NotNull
        public String getAmi()
      • setAmi

        @Stability(Stable)
        public void setAmi​(@NotNull
                           String value)
      • getAssociatePublicIpAddress

        @Stability(Stable)
        @NotNull
        public Object getAssociatePublicIpAddress()
      • setAssociatePublicIpAddress

        @Stability(Stable)
        public void setAssociatePublicIpAddress​(@NotNull
                                                Boolean value)
      • setAssociatePublicIpAddress

        @Stability(Stable)
        public void setAssociatePublicIpAddress​(@NotNull
                                                com.hashicorp.cdktf.IResolvable value)
      • getAvailabilityZone

        @Stability(Stable)
        @NotNull
        public String getAvailabilityZone()
      • setAvailabilityZone

        @Stability(Stable)
        public void setAvailabilityZone​(@NotNull
                                        String value)
      • getCpuCoreCount

        @Stability(Stable)
        @NotNull
        public Number getCpuCoreCount()
      • setCpuCoreCount

        @Stability(Stable)
        public void setCpuCoreCount​(@NotNull
                                    Number value)
      • getCpuThreadsPerCore

        @Stability(Stable)
        @NotNull
        public Number getCpuThreadsPerCore()
      • setCpuThreadsPerCore

        @Stability(Stable)
        public void setCpuThreadsPerCore​(@NotNull
                                         Number value)
      • getDisableApiStop

        @Stability(Stable)
        @NotNull
        public Object getDisableApiStop()
      • setDisableApiStop

        @Stability(Stable)
        public void setDisableApiStop​(@NotNull
                                      Boolean value)
      • setDisableApiStop

        @Stability(Stable)
        public void setDisableApiStop​(@NotNull
                                      com.hashicorp.cdktf.IResolvable value)
      • getDisableApiTermination

        @Stability(Stable)
        @NotNull
        public Object getDisableApiTermination()
      • setDisableApiTermination

        @Stability(Stable)
        public void setDisableApiTermination​(@NotNull
                                             Boolean value)
      • setDisableApiTermination

        @Stability(Stable)
        public void setDisableApiTermination​(@NotNull
                                             com.hashicorp.cdktf.IResolvable value)
      • getEbsOptimized

        @Stability(Stable)
        @NotNull
        public Object getEbsOptimized()
      • setEbsOptimized

        @Stability(Stable)
        public void setEbsOptimized​(@NotNull
                                    Boolean value)
      • setEbsOptimized

        @Stability(Stable)
        public void setEbsOptimized​(@NotNull
                                    com.hashicorp.cdktf.IResolvable value)
      • getFetchPasswordData

        @Stability(Stable)
        @NotNull
        public Object getFetchPasswordData()
      • setFetchPasswordData

        @Stability(Stable)
        public void setFetchPasswordData​(@NotNull
                                         Boolean value)
      • setFetchPasswordData

        @Stability(Stable)
        public void setFetchPasswordData​(@NotNull
                                         com.hashicorp.cdktf.IResolvable value)
      • getHibernation

        @Stability(Stable)
        @NotNull
        public Object getHibernation()
      • setHibernation

        @Stability(Stable)
        public void setHibernation​(@NotNull
                                   Boolean value)
      • setHibernation

        @Stability(Stable)
        public void setHibernation​(@NotNull
                                   com.hashicorp.cdktf.IResolvable value)
      • getHostId

        @Stability(Stable)
        @NotNull
        public String getHostId()
      • setHostId

        @Stability(Stable)
        public void setHostId​(@NotNull
                              String value)
      • getHostResourceGroupArn

        @Stability(Stable)
        @NotNull
        public String getHostResourceGroupArn()
      • setHostResourceGroupArn

        @Stability(Stable)
        public void setHostResourceGroupArn​(@NotNull
                                            String value)
      • getIamInstanceProfile

        @Stability(Stable)
        @NotNull
        public String getIamInstanceProfile()
      • setIamInstanceProfile

        @Stability(Stable)
        public void setIamInstanceProfile​(@NotNull
                                          String value)
      • getId

        @Stability(Stable)
        @NotNull
        public String getId()
      • setId

        @Stability(Stable)
        public void setId​(@NotNull
                          String value)
      • getInstanceInitiatedShutdownBehavior

        @Stability(Stable)
        @NotNull
        public String getInstanceInitiatedShutdownBehavior()
      • setInstanceInitiatedShutdownBehavior

        @Stability(Stable)
        public void setInstanceInitiatedShutdownBehavior​(@NotNull
                                                         String value)
      • getInstanceType

        @Stability(Stable)
        @NotNull
        public String getInstanceType()
      • setInstanceType

        @Stability(Stable)
        public void setInstanceType​(@NotNull
                                    String value)
      • getIpv6AddressCount

        @Stability(Stable)
        @NotNull
        public Number getIpv6AddressCount()
      • setIpv6AddressCount

        @Stability(Stable)
        public void setIpv6AddressCount​(@NotNull
                                        Number value)
      • getIpv6Addresses

        @Stability(Stable)
        @NotNull
        public List<String> getIpv6Addresses()
      • setIpv6Addresses

        @Stability(Stable)
        public void setIpv6Addresses​(@NotNull
                                     List<String> value)
      • getKeyName

        @Stability(Stable)
        @NotNull
        public String getKeyName()
      • setKeyName

        @Stability(Stable)
        public void setKeyName​(@NotNull
                               String value)
      • getMonitoring

        @Stability(Stable)
        @NotNull
        public Object getMonitoring()
      • setMonitoring

        @Stability(Stable)
        public void setMonitoring​(@NotNull
                                  Boolean value)
      • setMonitoring

        @Stability(Stable)
        public void setMonitoring​(@NotNull
                                  com.hashicorp.cdktf.IResolvable value)
      • getPlacementGroup

        @Stability(Stable)
        @NotNull
        public String getPlacementGroup()
      • setPlacementGroup

        @Stability(Stable)
        public void setPlacementGroup​(@NotNull
                                      String value)
      • getPlacementPartitionNumber

        @Stability(Stable)
        @NotNull
        public Number getPlacementPartitionNumber()
      • setPlacementPartitionNumber

        @Stability(Stable)
        public void setPlacementPartitionNumber​(@NotNull
                                                Number value)
      • getPrivateIp

        @Stability(Stable)
        @NotNull
        public String getPrivateIp()
      • setPrivateIp

        @Stability(Stable)
        public void setPrivateIp​(@NotNull
                                 String value)
      • getSecondaryPrivateIps

        @Stability(Stable)
        @NotNull
        public List<String> getSecondaryPrivateIps()
      • setSecondaryPrivateIps

        @Stability(Stable)
        public void setSecondaryPrivateIps​(@NotNull
                                           List<String> value)
      • getSecurityGroups

        @Stability(Stable)
        @NotNull
        public List<String> getSecurityGroups()
      • setSecurityGroups

        @Stability(Stable)
        public void setSecurityGroups​(@NotNull
                                      List<String> value)
      • getSourceDestCheck

        @Stability(Stable)
        @NotNull
        public Object getSourceDestCheck()
      • setSourceDestCheck

        @Stability(Stable)
        public void setSourceDestCheck​(@NotNull
                                       Boolean value)
      • setSourceDestCheck

        @Stability(Stable)
        public void setSourceDestCheck​(@NotNull
                                       com.hashicorp.cdktf.IResolvable value)
      • getSubnetId

        @Stability(Stable)
        @NotNull
        public String getSubnetId()
      • setSubnetId

        @Stability(Stable)
        public void setSubnetId​(@NotNull
                                String value)
      • getTags

        @Stability(Stable)
        @NotNull
        public Map<String,​String> getTags()
      • setTags

        @Stability(Stable)
        public void setTags​(@NotNull
                            Map<String,​String> value)
      • getTagsAll

        @Stability(Stable)
        @NotNull
        public Map<String,​String> getTagsAll()
      • setTagsAll

        @Stability(Stable)
        public void setTagsAll​(@NotNull
                               Map<String,​String> value)
      • getTenancy

        @Stability(Stable)
        @NotNull
        public String getTenancy()
      • setTenancy

        @Stability(Stable)
        public void setTenancy​(@NotNull
                               String value)
      • getUserData

        @Stability(Stable)
        @NotNull
        public String getUserData()
      • setUserData

        @Stability(Stable)
        public void setUserData​(@NotNull
                                String value)
      • getUserDataBase64

        @Stability(Stable)
        @NotNull
        public String getUserDataBase64()
      • setUserDataBase64

        @Stability(Stable)
        public void setUserDataBase64​(@NotNull
                                      String value)
      • getUserDataReplaceOnChange

        @Stability(Stable)
        @NotNull
        public Object getUserDataReplaceOnChange()
      • setUserDataReplaceOnChange

        @Stability(Stable)
        public void setUserDataReplaceOnChange​(@NotNull
                                               Boolean value)
      • setUserDataReplaceOnChange

        @Stability(Stable)
        public void setUserDataReplaceOnChange​(@NotNull
                                               com.hashicorp.cdktf.IResolvable value)
      • getVolumeTags

        @Stability(Stable)
        @NotNull
        public Map<String,​String> getVolumeTags()
      • setVolumeTags

        @Stability(Stable)
        public void setVolumeTags​(@NotNull
                                  Map<String,​String> value)
      • getVpcSecurityGroupIds

        @Stability(Stable)
        @NotNull
        public List<String> getVpcSecurityGroupIds()
      • setVpcSecurityGroupIds

        @Stability(Stable)
        public void setVpcSecurityGroupIds​(@NotNull
                                           List<String> value)