EC2 / Client / create_dhcp_options
create_dhcp_options#
- EC2.Client.create_dhcp_options(**kwargs)#
Creates a custom set of DHCP options. After you create a DHCP option set, you associate it with a VPC. After you associate a DHCP option set with a VPC, all existing and newly launched instances in the VPC use this set of DHCP options.
The following are the individual DHCP options you can specify. For more information, see DHCP option sets in the Amazon VPC User Guide.
domain-name
- If you’re using AmazonProvidedDNS inus-east-1
, specifyec2.internal
. If you’re using AmazonProvidedDNS in any other Region, specifyregion.compute.internal
. Otherwise, specify a custom domain name. This value is used to complete unqualified DNS hostnames. Some Linux operating systems accept multiple domain names separated by spaces. However, Windows and other Linux operating systems treat the value as a single domain, which results in unexpected behavior. If your DHCP option set is associated with a VPC that has instances running operating systems that treat the value as a single domain, specify only one domain name.domain-name-servers
- The IP addresses of up to four DNS servers, or AmazonProvidedDNS. To specify multiple domain name servers in a single parameter, separate the IP addresses using commas. To have your instances receive custom DNS hostnames as specified indomain-name
, you must specify a custom DNS server.ntp-servers
- The IP addresses of up to eight Network Time Protocol (NTP) servers (four IPv4 addresses and four IPv6 addresses).netbios-name-servers
- The IP addresses of up to four NetBIOS name servers.netbios-node-type
- The NetBIOS node type (1, 2, 4, or 8). We recommend that you specify 2. Broadcast and multicast are not supported. For more information about NetBIOS node types, see RFC 2132.ipv6-address-preferred-lease-time
- A value (in seconds, minutes, hours, or years) for how frequently a running instance with an IPv6 assigned to it goes through DHCPv6 lease renewal. Acceptable values are between 140 and 2147483647 seconds (approximately 68 years). If no value is entered, the default lease time is 140 seconds. If you use long-term addressing for EC2 instances, you can increase the lease time and avoid frequent lease renewal requests. Lease renewal typically occurs when half of the lease time has elapsed.
See also: AWS API Documentation
Request Syntax
response = client.create_dhcp_options( DhcpConfigurations=[ { 'Key': 'string', 'Values': [ 'string', ] }, ], TagSpecifications=[ { 'ResourceType': 'capacity-reservation'|'client-vpn-endpoint'|'customer-gateway'|'carrier-gateway'|'coip-pool'|'dedicated-host'|'dhcp-options'|'egress-only-internet-gateway'|'elastic-ip'|'elastic-gpu'|'export-image-task'|'export-instance-task'|'fleet'|'fpga-image'|'host-reservation'|'image'|'import-image-task'|'import-snapshot-task'|'instance'|'instance-event-window'|'internet-gateway'|'ipam'|'ipam-pool'|'ipam-scope'|'ipv4pool-ec2'|'ipv6pool-ec2'|'key-pair'|'launch-template'|'local-gateway'|'local-gateway-route-table'|'local-gateway-virtual-interface'|'local-gateway-virtual-interface-group'|'local-gateway-route-table-vpc-association'|'local-gateway-route-table-virtual-interface-group-association'|'natgateway'|'network-acl'|'network-interface'|'network-insights-analysis'|'network-insights-path'|'network-insights-access-scope'|'network-insights-access-scope-analysis'|'placement-group'|'prefix-list'|'replace-root-volume-task'|'reserved-instances'|'route-table'|'security-group'|'security-group-rule'|'snapshot'|'spot-fleet-request'|'spot-instances-request'|'subnet'|'subnet-cidr-reservation'|'traffic-mirror-filter'|'traffic-mirror-session'|'traffic-mirror-target'|'transit-gateway'|'transit-gateway-attachment'|'transit-gateway-connect-peer'|'transit-gateway-multicast-domain'|'transit-gateway-policy-table'|'transit-gateway-route-table'|'transit-gateway-route-table-announcement'|'volume'|'vpc'|'vpc-endpoint'|'vpc-endpoint-connection'|'vpc-endpoint-service'|'vpc-endpoint-service-permission'|'vpc-peering-connection'|'vpn-connection'|'vpn-gateway'|'vpc-flow-log'|'capacity-reservation-fleet'|'traffic-mirror-filter-rule'|'vpc-endpoint-connection-device-type'|'verified-access-instance'|'verified-access-group'|'verified-access-endpoint'|'verified-access-policy'|'verified-access-trust-provider'|'vpn-connection-device-type'|'vpc-block-public-access-exclusion'|'ipam-resource-discovery'|'ipam-resource-discovery-association'|'instance-connect-endpoint'|'ipam-external-resource-verification-token', 'Tags': [ { 'Key': 'string', 'Value': 'string' }, ] }, ], DryRun=True|False )
- Parameters:
DhcpConfigurations (list) –
[REQUIRED]
A DHCP configuration option.
(dict) –
Describes a DHCP configuration option.
Key (string) –
The name of a DHCP option.
Values (list) –
The values for the DHCP option.
(string) –
TagSpecifications (list) –
The tags to assign to the DHCP option.
(dict) –
The tags to apply to a resource when the resource is being created. When you specify a tag, you must specify the resource type to tag, otherwise the request will fail.
Note
The
Valid Values
lists all the resource types that can be tagged. However, the action you’re using might not support tagging all of these resource types. If you try to tag a resource type that is unsupported for the action you’re using, you’ll get an error.ResourceType (string) –
The type of resource to tag on creation.
Tags (list) –
The tags to apply to the resource.
(dict) –
Describes a tag.
Key (string) –
The key of the tag.
Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. May not begin with
aws:
.Value (string) –
The value of the tag.
Constraints: Tag values are case-sensitive and accept a maximum of 256 Unicode characters.
DryRun (boolean) – Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is
DryRunOperation
. Otherwise, it isUnauthorizedOperation
.
- Return type:
dict
- Returns:
Response Syntax
{ 'DhcpOptions': { 'DhcpConfigurations': [ { 'Key': 'string', 'Values': [ { 'Value': 'string' }, ] }, ], 'DhcpOptionsId': 'string', 'OwnerId': 'string', 'Tags': [ { 'Key': 'string', 'Value': 'string' }, ] } }
Response Structure
(dict) –
DhcpOptions (dict) –
A set of DHCP options.
DhcpConfigurations (list) –
The DHCP options in the set.
(dict) –
Describes a DHCP configuration option.
Key (string) –
The name of a DHCP option.
Values (list) –
The values for the DHCP option.
(dict) –
Describes a value for a resource attribute that is a String.
Value (string) –
The attribute value. The value is case-sensitive.
DhcpOptionsId (string) –
The ID of the set of DHCP options.
OwnerId (string) –
The ID of the Amazon Web Services account that owns the DHCP options set.
Tags (list) –
Any tags assigned to the DHCP options set.
(dict) –
Describes a tag.
Key (string) –
The key of the tag.
Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. May not begin with
aws:
.Value (string) –
The value of the tag.
Constraints: Tag values are case-sensitive and accept a maximum of 256 Unicode characters.
Examples
This example creates a DHCP options set.
response = client.create_dhcp_options( DhcpConfigurations=[ { 'Key': 'domain-name-servers', 'Values': [ '10.2.5.1', '10.2.5.2', ], }, ], ) print(response)
Expected Output:
{ 'DhcpOptions': { 'DhcpConfigurations': [ { 'Key': 'domain-name-servers', 'Values': [ { 'Value': '10.2.5.2', }, { 'Value': '10.2.5.1', }, ], }, ], 'DhcpOptionsId': 'dopt-d9070ebb', }, 'ResponseMetadata': { '...': '...', }, }