ipam

package
v1.4.0 Latest Latest
Warning

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

Go to latest
Published: Oct 8, 2024 License: Apache-2.0 Imports: 36 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// IpSpaceOperationTimeout is the maximum amount of time to wait for eventual consistency
	IpSpaceOperationTimeout = 2 * time.Minute
)

Variables

View Source
var DhcpHostAttrTypes = map[string]attr.Type{
	"address":           types.StringType,
	"anycast_addresses": types.ListType{ElemType: types.StringType},
	"associated_server": types.ObjectType{AttrTypes: IpamsvcHostAssociatedServerAttrTypes},
	"comment":           types.StringType,
	"current_version":   types.StringType,
	"id":                types.StringType,
	"ip_space":          types.StringType,
	"name":              types.StringType,
	"ophid":             types.StringType,
	"provider_id":       types.StringType,
	"server":            types.StringType,
	"tags":              types.MapType{ElemType: types.StringType},
	"tags_all":          types.MapType{ElemType: types.StringType},
	"type":              types.StringType,
}
View Source
var DhcpHostResourceSchemaAttributesWithRetry = map[string]schema.Attribute{
	"address": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The primary IP address of the on-prem host.",
	},
	"anycast_addresses": schema.ListAttribute{
		ElementType:         types.StringType,
		Computed:            true,
		MarkdownDescription: "Anycast address configured to the host. Order is not significant.",
	},
	"associated_server": schema.SingleNestedAttribute{
		Attributes:          IpamsvcHostAssociatedServerResourceSchemaAttributes,
		Computed:            true,
		MarkdownDescription: "The DHCP Config Profile for the on-prem host.",
	},
	"comment": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The description for the on-prem host.",
	},
	"current_version": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "Current dhcp application version of the host.",
	},
	"id": schema.StringAttribute{
		Required:            true,
		MarkdownDescription: "The resource identifier.",
		PlanModifiers: []planmodifier.String{
			stringplanmodifier.UseStateForUnknown(),
		},
	},
	"ip_space": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The resource identifier.",
	},
	"name": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The display name of the on-prem host.",
	},
	"ophid": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The on-prem host ID.",
	},
	"provider_id": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "External provider identifier.",
	},
	"server": schema.StringAttribute{
		Required: true,
		PlanModifiers: []planmodifier.String{
			stringplanmodifier.RequiresReplaceIfConfigured(),
		},
		MarkdownDescription: "The resource identifier.",
	},
	"tags": schema.MapAttribute{
		ElementType:         types.StringType,
		Computed:            true,
		MarkdownDescription: "The tags of the on-prem host in JSON format.",
	},
	"tags_all": schema.MapAttribute{
		ElementType:         types.StringType,
		Computed:            true,
		MarkdownDescription: "The tags of the on-prem host in JSON format including default tags.",
	},
	"type": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "Defines the type of host. Allowed values:  * _bloxone_ddi_: host type is BloxOne DDI,  * _microsoft_azure_: host type is Microsoft Azure,  * _amazon_web_service_: host type is Amazon Web Services.  * _microsoft_active_directory_: host type is Microsoft Active Directory.",
	},
	"retry_if_not_found": schema.BoolAttribute{
		Optional:            true,
		MarkdownDescription: "If set to `true`, the resource will retry until a matching host is found, or until the Create Timeout expires.",
	},
}
View Source
var InheritanceAssignedHostAttrTypes = map[string]attr.Type{
	"display_name": types.StringType,
	"host":         types.StringType,
	"ophid":        types.StringType,
}
View Source
var InheritanceAssignedHostResourceSchemaAttributes = map[string]schema.Attribute{
	"display_name": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The human-readable display name for the host referred to by _ophid_.",
	},
	"host": schema.StringAttribute{
		Optional:            true,
		MarkdownDescription: "The resource identifier.",
	},
	"ophid": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The on-prem host ID.",
	},
}
View Source
var InheritanceInheritedBoolAttrTypes = map[string]attr.Type{
	"action":       types.StringType,
	"display_name": types.StringType,
	"source":       types.StringType,
	"value":        types.BoolType,
}
View Source
var InheritanceInheritedBoolResourceSchemaAttributes = map[string]schema.Attribute{
	"action": schema.StringAttribute{
		Optional: true,
		Computed: true,
		MarkdownDescription: "The inheritance setting for a field. Valid values are:\n" +
			"  * _inherit_: Use the inherited value.\n" +
			"  * _override_: Use the value set in the object.\n\n" +
			"  Defaults to _inherit_.",
	},
	"display_name": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The human-readable display name for the object referred to by _source_.`,
	},
	"source": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The resource identifier.`,
	},
	"value": schema.BoolAttribute{
		Computed:            true,
		MarkdownDescription: `The inherited value.`,
	},
}
View Source
var InheritanceInheritedFloatAttrTypes = map[string]attr.Type{
	"action":       types.StringType,
	"display_name": types.StringType,
	"source":       types.StringType,
	"value":        types.Float64Type,
}
View Source
var InheritanceInheritedFloatResourceSchemaAttributes = map[string]schema.Attribute{
	"action": schema.StringAttribute{
		Optional: true,
		Computed: true,
		MarkdownDescription: "The inheritance setting for a field. Valid values are:\n" +
			"  * _inherit_: Use the inherited value.\n" +
			"  * _override_: Use the value set in the object.\n\n" +
			"  Defaults to _inherit_.",
	},
	"display_name": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The human-readable display name for the object referred to by _source_.`,
	},
	"source": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The resource identifier.`,
	},
	"value": schema.Float64Attribute{
		Computed:            true,
		MarkdownDescription: `The inherited value.`,
	},
}
View Source
var InheritanceInheritedIdentifierAttrTypes = map[string]attr.Type{
	"action":       types.StringType,
	"display_name": types.StringType,
	"source":       types.StringType,
	"value":        types.StringType,
}
View Source
var InheritanceInheritedIdentifierResourceSchemaAttributes = map[string]schema.Attribute{
	"action": schema.StringAttribute{
		Optional: true,
		Computed: true,
		MarkdownDescription: "The inheritance setting for a field. Valid values are:\n" +
			"  * _inherit_: Use the inherited value.\n" +
			"  * _override_: Use the value set in the object.\n\n" +
			"  Defaults to _inherit_.",
	},
	"display_name": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The human-readable display name for the object referred to by _source_.`,
	},
	"source": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The resource identifier.`,
	},
	"value": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The resource identifier.`,
	},
}
View Source
var InheritanceInheritedStringAttrTypes = map[string]attr.Type{
	"action":       types.StringType,
	"display_name": types.StringType,
	"source":       types.StringType,
	"value":        types.StringType,
}
View Source
var InheritanceInheritedStringResourceSchemaAttributes = map[string]schema.Attribute{
	"action": schema.StringAttribute{
		Optional: true,
		Computed: true,
		MarkdownDescription: "The inheritance setting for a field. Valid values are:\n" +
			"  * _inherit_: Use the inherited value.\n" +
			"  * _override_: Use the value set in the object.\n\n" +
			"  Defaults to _inherit_.",
	},
	"display_name": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The human-readable display name for the object referred to by _source_.`,
	},
	"source": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The resource identifier.`,
	},
	"value": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The inherited value.`,
	},
}
View Source
var InheritanceInheritedUInt32AttrTypes = map[string]attr.Type{
	"action":       types.StringType,
	"display_name": types.StringType,
	"source":       types.StringType,
	"value":        types.Int64Type,
}
View Source
var InheritanceInheritedUInt32ResourceSchemaAttributes = map[string]schema.Attribute{
	"action": schema.StringAttribute{
		Optional: true,
		Computed: true,
		MarkdownDescription: "The inheritance setting for a field. Valid values are:\n" +
			"  * _inherit_: Use the inherited value.\n" +
			"  * _override_: Use the value set in the object.\n\n" +
			"  Defaults to _inherit_.",
	},
	"display_name": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The human-readable display name for the object referred to by _source_.`,
	},
	"source": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The resource identifier.`,
	},
	"value": schema.Int64Attribute{
		Computed:            true,
		MarkdownDescription: `The inherited value.`,
	},
}
View Source
var InheritedDHCPConfigFilterListAttrTypes = map[string]attr.Type{
	"action":       types.StringType,
	"display_name": types.StringType,
	"source":       types.StringType,
	"value":        types.ListType{ElemType: types.StringType},
}
View Source
var InheritedDHCPConfigFilterListResourceSchemaAttributes = map[string]schema.Attribute{
	"action": schema.StringAttribute{
		Optional: true,
		Computed: true,
		MarkdownDescription: "The inheritance setting. Valid values are:\n" +
			"  * _inherit_: Use the inherited value.\n" +
			"  * _override_: Use the value set in the object.\n\n" +
			"  Defaults to _inherit_.",
	},
	"display_name": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The human-readable display name for the object referred to by _source_.`,
	},
	"source": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The resource identifier.`,
	},
	"value": schema.ListAttribute{
		ElementType:         types.StringType,
		Computed:            true,
		MarkdownDescription: `The resource identifier.`,
	},
}
View Source
var InheritedDHCPConfigIgnoreItemListAttrTypes = map[string]attr.Type{
	"action":       types.StringType,
	"display_name": types.StringType,
	"source":       types.StringType,
	"value":        types.ListType{ElemType: types.ObjectType{AttrTypes: IpamsvcIgnoreItemAttrTypes}},
}
View Source
var InheritedDHCPConfigIgnoreItemListResourceSchemaAttributes = map[string]schema.Attribute{
	"action": schema.StringAttribute{
		Optional: true,
		Computed: true,
		MarkdownDescription: "The inheritance setting. Valid values are:\n" +
			"  * _inherit_: Use the inherited value.\n" +
			"  * _override_: Use the value set in the object.\n\n" +
			"  Defaults to _inherit_.",
	},
	"display_name": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The human-readable display name for the object referred to by _source_.`,
	},
	"source": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The resource identifier.`,
	},
	"value": schema.ListNestedAttribute{
		NestedObject: schema.NestedAttributeObject{
			Attributes: utils.ToComputedAttributeMap(IpamsvcIgnoreItemResourceSchemaAttributes),
		},
		Computed:            true,
		MarkdownDescription: `The inherited value.`,
	},
}
View Source
var IpamsvcASMConfigAttrTypes = map[string]attr.Type{
	"asm_threshold":       types.Int64Type,
	"enable":              types.BoolType,
	"enable_notification": types.BoolType,
	"forecast_period":     types.Int64Type,
	"growth_factor":       types.Int64Type,
	"growth_type":         types.StringType,
	"history":             types.Int64Type,
	"min_total":           types.Int64Type,
	"min_unused":          types.Int64Type,
	"reenable_date":       timetypes.RFC3339Type{},
}
View Source
var IpamsvcASMConfigResourceSchemaAttributes = map[string]schema.Attribute{
	"asm_threshold": schema.Int64Attribute{
		Optional:            true,
		Computed:            true,
		Default:             int64default.StaticInt64(90),
		MarkdownDescription: `ASM shows the number of addresses forecast to be used _forecast_period_ days in the future, if it is greater than _asm_threshold_ percent * _dhcp_total_ (see _dhcp_utilization_) then the subnet is flagged.`,
	},
	"enable": schema.BoolAttribute{
		Optional:            true,
		Computed:            true,
		Default:             booldefault.StaticBool(true),
		MarkdownDescription: `Indicates if Automated Scope Management is enabled.`,
	},
	"enable_notification": schema.BoolAttribute{
		Optional:            true,
		Computed:            true,
		Default:             booldefault.StaticBool(true),
		MarkdownDescription: `Indicates if ASM should send notifications to the user.`,
	},
	"forecast_period": schema.Int64Attribute{
		Optional:            true,
		Computed:            true,
		Default:             int64default.StaticInt64(14),
		MarkdownDescription: `The forecast period in days.`,
	},
	"growth_factor": schema.Int64Attribute{
		Optional:            true,
		Computed:            true,
		Default:             int64default.StaticInt64(20),
		MarkdownDescription: `Indicates the growth in the number or percentage of IP addresses.`,
	},
	"growth_type": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString("percent"),
		MarkdownDescription: `The type of factor to use: _percent_ or _count_.`,
	},
	"history": schema.Int64Attribute{
		Optional:            true,
		Computed:            true,
		Default:             int64default.StaticInt64(30),
		MarkdownDescription: `The minimum amount of history needed before ASM can run on this subnet.`,
	},
	"min_total": schema.Int64Attribute{
		Optional:            true,
		Computed:            true,
		Default:             int64default.StaticInt64(10),
		MarkdownDescription: `The minimum size of range needed for ASM to run on this subnet.`,
	},
	"min_unused": schema.Int64Attribute{
		Optional:            true,
		Computed:            true,
		Default:             int64default.StaticInt64(10),
		MarkdownDescription: `The minimum percentage of addresses that must be available outside of the DHCP ranges and fixed addresses when making a suggested change..`,
	},
	"reenable_date": schema.StringAttribute{
		CustomType: timetypes.RFC3339Type{},
		Optional:   true,
		Computed:   true,
		Default:    stringdefault.StaticString("1970-01-01T00:00:00Z"),
	},
}
View Source
var IpamsvcAccessFilterAttrTypes = map[string]attr.Type{
	"access":             types.StringType,
	"hardware_filter_id": types.StringType,
	"option_filter_id":   types.StringType,
}
View Source
var IpamsvcAccessFilterResourceSchemaAttributes = map[string]schema.Attribute{
	"access": schema.StringAttribute{
		Required:            true,
		MarkdownDescription: "The access type of DHCP filter (_allow_ or _deny_).  Defaults to _allow_.",
	},
	"hardware_filter_id": schema.StringAttribute{
		Optional:            true,
		MarkdownDescription: "The resource identifier.",
	},
	"option_filter_id": schema.StringAttribute{
		Optional:            true,
		MarkdownDescription: "The resource identifier.",
	},
}
View Source
var IpamsvcAddressAttrTypes = map[string]attr.Type{
	"address":            types.StringType,
	"comment":            types.StringType,
	"compartment_id":     types.StringType,
	"created_at":         timetypes.RFC3339Type{},
	"dhcp_info":          types.ObjectType{AttrTypes: IpamsvcDHCPInfoAttrTypes},
	"disable_dhcp":       types.BoolType,
	"discovery_attrs":    types.MapType{ElemType: types.StringType},
	"discovery_metadata": types.MapType{ElemType: types.StringType},
	"external_keys":      types.MapType{ElemType: types.StringType},
	"host":               types.StringType,
	"hwaddr":             types.StringType,
	"id":                 types.StringType,
	"interface":          types.StringType,
	"names":              types.ListType{ElemType: types.ObjectType{AttrTypes: IpamsvcNameAttrTypes}},
	"parent":             types.StringType,
	"protocol":           types.StringType,
	"range":              types.StringType,
	"space":              types.StringType,
	"state":              types.StringType,
	"tags":               types.MapType{ElemType: types.StringType},
	"tags_all":           types.MapType{ElemType: types.StringType},
	"updated_at":         timetypes.RFC3339Type{},
	"usage":              types.ListType{ElemType: types.StringType},
	"next_available_id":  types.StringType,
}
View Source
var IpamsvcAddressBlockAttrTypes = map[string]attr.Type{
	"address":                       types.StringType,
	"asm_config":                    types.ObjectType{AttrTypes: IpamsvcASMConfigAttrTypes},
	"asm_scope_flag":                types.Int64Type,
	"cidr":                          types.Int64Type,
	"comment":                       types.StringType,
	"compartment_id":                types.StringType,
	"created_at":                    timetypes.RFC3339Type{},
	"ddns_client_update":            types.StringType,
	"ddns_conflict_resolution_mode": types.StringType,
	"ddns_domain":                   types.StringType,
	"ddns_generate_name":            types.BoolType,
	"ddns_generated_prefix":         types.StringType,
	"ddns_send_updates":             types.BoolType,
	"ddns_ttl_percent":              types.Float64Type,
	"ddns_update_on_renew":          types.BoolType,
	"ddns_use_conflict_resolution":  types.BoolType,
	"delegation":                    types.StringType,
	"dhcp_config":                   types.ObjectType{AttrTypes: IpamsvcDHCPConfigAttrTypes},
	"dhcp_options":                  types.ListType{ElemType: types.ObjectType{AttrTypes: IpamsvcOptionItemAttrTypes}},
	"dhcp_utilization":              types.ObjectType{AttrTypes: IpamsvcDHCPUtilizationAttrTypes},
	"discovery_attrs":               types.MapType{ElemType: types.StringType},
	"discovery_metadata":            types.MapType{ElemType: types.StringType},
	"external_keys":                 types.MapType{ElemType: types.StringType},
	"federated_realms":              internaltypes.UnorderedListOfStringType,
	"header_option_filename":        types.StringType,
	"header_option_server_address":  types.StringType,
	"header_option_server_name":     types.StringType,
	"hostname_rewrite_char":         types.StringType,
	"hostname_rewrite_enabled":      types.BoolType,
	"hostname_rewrite_regex":        types.StringType,
	"id":                            types.StringType,
	"inheritance_parent":            types.StringType,
	"inheritance_sources":           types.ObjectType{AttrTypes: IpamsvcDHCPInheritanceAttrTypes},
	"name":                          types.StringType,
	"parent":                        types.StringType,
	"protocol":                      types.StringType,
	"space":                         types.StringType,
	"tags":                          types.MapType{ElemType: types.StringType},
	"tags_all":                      types.MapType{ElemType: types.StringType},
	"threshold":                     types.ObjectType{AttrTypes: IpamsvcUtilizationThresholdAttrTypes},
	"updated_at":                    timetypes.RFC3339Type{},
	"usage":                         types.ListType{ElemType: types.StringType},
	"utilization":                   types.ObjectType{AttrTypes: IpamsvcUtilizationAttrTypes},
	"utilization_v6":                types.ObjectType{AttrTypes: IpamsvcUtilizationV6AttrTypes},
	"next_available_id":             types.StringType,
}
View Source
var IpamsvcAddressBlockResourceSchemaAttributes = map[string]schema.Attribute{
	"address": schema.StringAttribute{
		Optional: true,
		Computed: true,
		Validators: []validator.String{
			stringvalidator.ExactlyOneOf(path.MatchRoot("address"), path.MatchRoot("next_available_id")),
		},
		PlanModifiers: []planmodifier.String{
			stringplanmodifier.RequiresReplaceIfConfigured(),
		},
		MarkdownDescription: "The address field in form 'a.b.c.d'.",
	},
	"asm_config": schema.SingleNestedAttribute{
		Attributes: IpamsvcASMConfigResourceSchemaAttributes,
		Optional:   true,
		Computed:   true,
		Default: objectdefault.StaticValue(types.ObjectValueMust(IpamsvcASMConfigAttrTypes, map[string]attr.Value{
			"asm_threshold":       types.Int64Value(90),
			"enable":              types.BoolValue(true),
			"enable_notification": types.BoolValue(true),
			"forecast_period":     types.Int64Value(14),
			"growth_factor":       types.Int64Value(20),
			"growth_type":         types.StringValue("percent"),
			"history":             types.Int64Value(30),
			"min_total":           types.Int64Value(10),
			"min_unused":          types.Int64Value(10),
			"reenable_date":       timetypes.NewRFC3339ValueMust("1970-01-01T00:00:00Z"),
		})),
	},
	"asm_scope_flag": schema.Int64Attribute{
		Computed:            true,
		MarkdownDescription: "Incremented by 1 if the IP address usage limits for automated scope management are exceeded for any subnets in the address block.",
	},
	"cidr": schema.Int64Attribute{
		Required:            true,
		MarkdownDescription: "The CIDR of the address block. This is required, if _address_ does not specify it in its input.",
	},
	"comment": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString(""),
		MarkdownDescription: "The description for the address block. May contain 0 to 1024 characters. Can include UTF-8.",
	},
	"compartment_id": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString(""),
		MarkdownDescription: "The compartment associated with the object. If no compartment is associated with the object, the value defaults to empty.",
	},
	"created_at": schema.StringAttribute{
		CustomType:          timetypes.RFC3339Type{},
		Computed:            true,
		MarkdownDescription: "Time when the object has been created.",
	},
	"ddns_client_update": schema.StringAttribute{
		Optional: true,
		Computed: true,
		MarkdownDescription: "Controls who does the DDNS updates. Valid values are:\n" +
			"  * _client_: DHCP server updates DNS if requested by client.\n" +
			"  * _server_: DHCP server always updates DNS, overriding an update request from the client, unless the client requests no updates.\n" +
			"  * _ignore_: DHCP server always updates DNS, even if the client says not to.\n" +
			"  * _over_client_update_: Same as _server_. DHCP server always updates DNS, overriding an update request from the client, unless the client requests no updates.\n" +
			"  * _over_no_update_: DHCP server updates DNS even if the client requests that no updates be done. If the client requests to do the update, DHCP server allows it.\n" +
			"  Defaults to _client_.\n",
	},
	"ddns_conflict_resolution_mode": schema.StringAttribute{
		Optional: true,
		Computed: true,
		MarkdownDescription: "The mode used for resolving conflicts while performing DDNS updates. Valid values are:\n\n" +
			"  * _check_with_dhcid_: It includes adding a DHCID record and checking that record via conflict detection as per RFC 4703.\n" +
			"  * _no_check_with_dhcid_: This will ignore conflict detection but add a DHCID record when creating/updating an entry.\n" +
			"  * _check_exists_with_dhcid_: This will check if there is an existing DHCID record but does not verify the value of the record matches the update. This will also update the DHCID record for the entry.\n" +
			"  * _no_check_without_dhcid_: This ignores conflict detection and will not add a DHCID record when creating/updating a DDNS entry.\n" +
			"  Defaults to _check_with_dhcid_.",
	},
	"ddns_domain": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString(""),
		MarkdownDescription: "The domain suffix for DDNS updates. FQDN, may be empty.  Defaults to empty.",
	},

	"ddns_generate_name": schema.BoolAttribute{
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "Indicates if DDNS needs to generate a hostname when not supplied by the client.  Defaults to _false_.",
	},
	"ddns_generated_prefix": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString("myhost"),
		MarkdownDescription: "The prefix used in the generation of an FQDN.  When generating a name, DHCP server will construct the name in the format: [ddns-generated-prefix]-[address-text].[ddns-qualifying-suffix]. where address-text is simply the lease IP address converted to a hyphenated string.  Defaults to \"myhost\".",
	},
	"ddns_send_updates": schema.BoolAttribute{
		Optional:            true,
		Computed:            true,
		Default:             booldefault.StaticBool(true),
		MarkdownDescription: "Determines if DDNS updates are enabled at the address block level. Defaults to _true_.",
	},
	"ddns_ttl_percent": schema.Float64Attribute{
		Optional:            true,
		MarkdownDescription: "DDNS TTL value - to be calculated as a simple percentage of the lease's lifetime, using the parameter's value as the percentage. It is specified as a percentage (e.g. 25, 75). Defaults to unspecified.",
	},
	"ddns_update_on_renew": schema.BoolAttribute{
		Optional:            true,
		Computed:            true,
		Default:             booldefault.StaticBool(false),
		MarkdownDescription: "Instructs the DHCP server to always update the DNS information when a lease is renewed even if its DNS information has not changed.  Defaults to _false_.",
	},
	"ddns_use_conflict_resolution": schema.BoolAttribute{
		Optional:            true,
		Computed:            true,
		Default:             booldefault.StaticBool(true),
		MarkdownDescription: "When true, DHCP server will apply conflict resolution, as described in RFC 4703, when attempting to fulfill the update request.  When false, DHCP server will simply attempt to update the DNS entries per the request, regardless of whether or not they conflict with existing entries owned by other DHCP4 clients.  Defaults to _true_.",
	},
	"delegation": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The ID of the delegation associated with the address block.",
	},
	"dhcp_config": schema.SingleNestedAttribute{
		Attributes: IpamsvcDHCPConfigResourceSchemaAttributes(true),
		Optional:   true,
		Computed:   true,
		Default: objectdefault.StaticValue(types.ObjectValueMust(IpamsvcDHCPConfigAttrTypes, map[string]attr.Value{
			"abandoned_reclaim_time":    types.Int64Null(),
			"abandoned_reclaim_time_v6": types.Int64Null(),
			"allow_unknown":             types.BoolValue(true),
			"allow_unknown_v6":          types.BoolValue(true),
			"echo_client_id":            types.BoolNull(),
			"filters":                   types.ListNull(types.StringType),
			"filters_v6":                types.ListNull(types.StringType),
			"filters_large_selection":   types.ListNull(types.StringType),
			"ignore_client_uid":         types.BoolValue(false),
			"ignore_list":               types.ListNull(types.ObjectType{AttrTypes: IpamsvcIgnoreItemAttrTypes}),
			"lease_time":                types.Int64Value(3600),
			"lease_time_v6":             types.Int64Value(3600),
		})),
	},
	"dhcp_options": schema.ListNestedAttribute{
		NestedObject: schema.NestedAttributeObject{
			Attributes: IpamsvcOptionItemResourceSchemaAttributes,
		},
		Optional:            true,
		MarkdownDescription: "The list of DHCP options for the address block. May be either a specific option or a group of options.",
	},
	"dhcp_utilization": schema.SingleNestedAttribute{
		Attributes: IpamsvcDHCPUtilizationResourceSchemaAttributes,
		Optional:   true,
		Computed:   true,
	},
	"discovery_attrs": schema.MapAttribute{
		ElementType:         types.StringType,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The discovery attributes for this address block in JSON format.",
	},
	"discovery_metadata": schema.MapAttribute{
		ElementType:         types.StringType,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The discovery metadata for this address block in JSON format.",
	},
	"external_keys": schema.MapAttribute{
		ElementType:         types.StringType,
		Optional:            true,
		MarkdownDescription: "The external keys (source key) for this address block in JSON format.",
	},
	"federated_realms": schema.ListAttribute{
		CustomType:          internaltypes.UnorderedListOfStringType,
		ElementType:         types.StringType,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "Federated realms to which this address block belongs.",
	},
	"header_option_filename": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString(""),
		MarkdownDescription: "The configuration for header option filename field.",
	},
	"header_option_server_address": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString(""),
		MarkdownDescription: "The configuration for header option server address field.",
	},
	"header_option_server_name": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString(""),
		MarkdownDescription: "The configuration for header option server name field.",
	},
	"hostname_rewrite_char": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString("-"),
		MarkdownDescription: "The character to replace non-matching characters with, when hostname rewrite is enabled.  Any single ASCII character or no character if the invalid characters should be removed without replacement.  Defaults to \"-\".",
	},
	"hostname_rewrite_enabled": schema.BoolAttribute{
		Optional:            true,
		Computed:            true,
		Default:             booldefault.StaticBool(false),
		MarkdownDescription: "Indicates if client supplied hostnames will be rewritten prior to DDNS update by replacing every character that does not match _hostname_rewrite_regex_ by _hostname_rewrite_char_.  Defaults to _false_.",
	},
	"hostname_rewrite_regex": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString("[^a-zA-Z0-9_.]"),
		MarkdownDescription: "The regex bracket expression to match valid characters.  Must begin with \"[\" and end with \"]\" and be a compilable POSIX regex.  Defaults to \"[^a-zA-Z0-9_.]\".",
	},
	"id": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The resource identifier.",
		PlanModifiers: []planmodifier.String{
			stringplanmodifier.UseStateForUnknown(),
		},
	},
	"inheritance_parent": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The resource identifier.",
	},
	"inheritance_sources": schema.SingleNestedAttribute{
		Attributes: IpamsvcDHCPInheritanceResourceSchemaAttributes,
		Optional:   true,
		Computed:   true,
		PlanModifiers: []planmodifier.Object{
			objectplanmodifier.UseStateForUnknown(),
		},
	},
	"name": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString(""),
		MarkdownDescription: "The name of the address block. May contain 1 to 256 characters. Can include UTF-8.",
	},
	"parent": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The resource identifier.",
	},
	"protocol": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The type of protocol of address block (_ip4_ or _ip6_).",
	},
	"space": schema.StringAttribute{
		Required: true,
		PlanModifiers: []planmodifier.String{
			stringplanmodifier.RequiresReplaceIfConfigured(),
		},
		MarkdownDescription: "The resource identifier.",
	},
	"tags": schema.MapAttribute{
		ElementType:         types.StringType,
		Optional:            true,
		Computed:            true,
		Default:             mapdefault.StaticValue(types.MapNull(types.StringType)),
		MarkdownDescription: "The tags for the address block in JSON format.",
	},
	"tags_all": schema.MapAttribute{
		ElementType:         types.StringType,
		Computed:            true,
		MarkdownDescription: "The tags for the address block in JSON format including default tags.",
	},
	"threshold": schema.SingleNestedAttribute{
		Attributes: IpamsvcUtilizationThresholdResourceSchemaAttributes,
		Computed:   true,
	},
	"updated_at": schema.StringAttribute{
		CustomType:          timetypes.RFC3339Type{},
		Computed:            true,
		MarkdownDescription: "Time when the object has been updated. Equals to _created_at_ if not updated after creation.",
	},
	"usage": schema.ListAttribute{
		ElementType: types.StringType,
		Computed:    true,
		MarkdownDescription: "The usage is a combination of indicators, each tracking a specific associated use. Listed below are usage indicators with their meaning:\n\n" +
			"  | usage indicator        | description                                                                                         |\n" +
			"  |------------------------|-----------------------------------------------------------------------------------------------------|\n" +
			"  | _IPAM_                 |  AddressBlock is managed in BloxOne DDI.                                                            |\n" +
			"  | _DISCOVERED_           |  AddressBlock is discovered by some network discovery probe like Network Insight or NetMRI in NIOS. |\n" +
			"  <br>",
	},
	"utilization": schema.SingleNestedAttribute{
		Attributes:          IpamsvcUtilizationResourceSchemaAttributes,
		Computed:            true,
		MarkdownDescription: "The IPV4 address utilization statistics for the address block.",
	},
	"utilization_v6": schema.SingleNestedAttribute{
		Attributes:          IpamsvcUtilizationV6ResourceSchemaAttributes,
		Computed:            true,
		MarkdownDescription: "The utilization of IPV6 addresses in the Address block.",
	},
	"next_available_id": schema.StringAttribute{
		Optional:            true,
		MarkdownDescription: "The resource identifier for the address block where the next available address block should be generated.",
		Validators: []validator.String{
			stringvalidator.ExactlyOneOf(path.MatchRoot("address"), path.MatchRoot("next_available_id")),
			stringvalidator.RegexMatches(regexp.MustCompile(`^ipam/address_block/[0-9a-f-].*$`), "Should be the resource identifier of an address block."),
		},
		PlanModifiers: []planmodifier.String{
			stringplanmodifier.RequiresReplaceIfConfigured(),
			stringplanmodifier.UseStateForUnknown(),
		},
	},
}
View Source
var IpamsvcAddressResourceSchemaAttributes = map[string]schema.Attribute{
	"address": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The address in form \"a.b.c.d\".",
		Validators: []validator.String{
			stringvalidator.ExactlyOneOf(path.MatchRoot("address"), path.MatchRoot("next_available_id")),
		},
	},
	"comment": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString(""),
		MarkdownDescription: "The description for the address object. May contain 0 to 1024 characters. Can include UTF-8.",
	},
	"compartment_id": schema.StringAttribute{
		Computed:            true,
		Default:             stringdefault.StaticString(""),
		MarkdownDescription: "The compartment associated with the object. If no compartment is associated with the object, the value defaults to empty.",
	},
	"created_at": schema.StringAttribute{
		CustomType:          timetypes.RFC3339Type{},
		Computed:            true,
		MarkdownDescription: "Time when the object has been created.",
	},
	"dhcp_info": schema.SingleNestedAttribute{
		Attributes: IpamsvcDHCPInfoResourceSchemaAttributes,
		Computed:   true,
	},
	"disable_dhcp": schema.BoolAttribute{
		Computed:            true,
		MarkdownDescription: "Read only. Represent the value of the same field in the associated _dhcp/fixed_address_ object.",
	},
	"discovery_attrs": schema.MapAttribute{
		ElementType:         types.StringType,
		Computed:            true,
		MarkdownDescription: "The discovery attributes for this address in JSON format.",
	},
	"discovery_metadata": schema.MapAttribute{
		ElementType:         types.StringType,
		Computed:            true,
		MarkdownDescription: "The discovery metadata for this address in JSON format.",
	},
	"external_keys": schema.MapAttribute{
		ElementType:         types.StringType,
		Optional:            true,
		MarkdownDescription: "The external keys (source key) for this address in JSON format.",
	},
	"host": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The resource identifier.",
	},
	"hwaddr": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString(""),
		MarkdownDescription: "The hardware address associated with this IP address.",
	},
	"id": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The resource identifier.",
		PlanModifiers: []planmodifier.String{
			stringplanmodifier.UseStateForUnknown(),
		},
	},
	"interface": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString(""),
		MarkdownDescription: "The name of the network interface card (NIC) associated with the address, if any.",
	},
	"names": schema.ListNestedAttribute{
		NestedObject: schema.NestedAttributeObject{
			Attributes: IpamsvcNameResourceSchemaAttributes,
		},
		Optional:            true,
		MarkdownDescription: "The list of all names associated with this address.",
	},
	"parent": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The resource identifier.",
	},
	"protocol": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The type of protocol (_ip4_ or _ip6_).",
	},
	"range": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The resource identifier.",
	},
	"space": schema.StringAttribute{
		Required:            true,
		MarkdownDescription: "The resource identifier.",
		PlanModifiers: []planmodifier.String{
			stringplanmodifier.RequiresReplaceIfConfigured(),
		},
	},
	"state": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The state of the address (_used_ or _free_).",
	},
	"tags": schema.MapAttribute{
		ElementType:         types.StringType,
		Optional:            true,
		Computed:            true,
		Default:             mapdefault.StaticValue(types.MapNull(types.StringType)),
		MarkdownDescription: "The tags for this address in JSON format.",
	},
	"tags_all": schema.MapAttribute{
		ElementType:         types.StringType,
		Computed:            true,
		MarkdownDescription: "The tags for the address in JSON format including default tags.",
	},
	"updated_at": schema.StringAttribute{
		CustomType:          timetypes.RFC3339Type{},
		Computed:            true,
		MarkdownDescription: "Time when the object has been updated. Equals to _created_at_ if not updated after creation.",
	},
	"usage": schema.ListAttribute{
		ElementType: types.StringType,
		Computed:    true,
		MarkdownDescription: "The usage is a combination of indicators, each tracking a specific associated use. Listed below are usage indicators with their meaning:\n\n" +
			"  | usage indicator        | description                                                                                                 |\n" +
			"  |------------------------|-------------------------------------------------------------------------------------------------------------|\n" +
			"  | _IPAM_                 |  Address was created by the IPAM component.                                                                 |\n" +
			"  | _IPAM_, _RESERVED_     |  Address was created by the API call _ipam/address_ or _ipam/host_.                                         |\n" +
			"  | _IPAM_, _NETWORK_      |  Address was automatically created by the IPAM component and is the network address of the parent subnet.   |\n" +
			"  | _IPAM_, _BROADCAST_    |  Address was automatically created by the IPAM component and is the broadcast address of the parent subnet. |\n" +
			"  | _DHCP_                 |  Address was created by the DHCP component.                                                                 |\n" +
			"  | _DHCP_, _FIXEDADDRESS_ |  Address was created by the API call _dhcp/fixed_address_.                                                  |\n" +
			"  | _DHCP_, _LEASED_       |  An active lease for that address was issued by a DHCP server.                                              |\n" +
			"  | _DHCP_, _DISABLED_     |  Address is disabled.                                                                                       |\n" +
			"  | _DNS_                  |  Address is used by one or more DNS records.                                                                |\n" +
			"  | _DISCOVERED_           |  Address is discovered by some network discovery probe like Network Insight or NetMRI in NIOS.              |\n" +
			"  <br>",
	},
	"next_available_id": schema.StringAttribute{
		Optional:            true,
		MarkdownDescription: "The resource identifier for the address block, subnet or range where the next available address should be generated",
		Validators: []validator.String{
			stringvalidator.ExactlyOneOf(path.MatchRoot("address"), path.MatchRoot("next_available_id")),
			stringvalidator.RegexMatches(regexp.MustCompile(`^ipam/(range|subnet|address_block)/[0-9a-f-].*$`), "Should be the resource identifier of an address block, range or subnet."),
		},
		PlanModifiers: []planmodifier.String{
			stringplanmodifier.RequiresReplaceIfConfigured(),
			stringplanmodifier.UseStateForUnknown(),
		},
	},
}
View Source
var IpamsvcAsmEnableBlockAttrTypes = map[string]attr.Type{
	"enable":              types.BoolType,
	"enable_notification": types.BoolType,
	"reenable_date":       timetypes.RFC3339Type{},
}
View Source
var IpamsvcAsmEnableBlockResourceSchemaAttributes = map[string]schema.Attribute{
	"enable": schema.BoolAttribute{
		Optional:            true,
		MarkdownDescription: `Indicates whether Automated Scope Management is enabled or not.`,
	},
	"enable_notification": schema.BoolAttribute{
		Optional:            true,
		MarkdownDescription: `Indicates whether sending notifications to the users is enabled or not.`,
	},
	"reenable_date": schema.StringAttribute{
		CustomType:          timetypes.RFC3339Type{},
		Optional:            true,
		MarkdownDescription: `The date at which notifications will be re-enabled automatically.`,
	},
}
View Source
var IpamsvcAsmGrowthBlockAttrTypes = map[string]attr.Type{
	"growth_factor": types.Int64Type,
	"growth_type":   types.StringType,
}
View Source
var IpamsvcAsmGrowthBlockResourceSchemaAttributes = map[string]schema.Attribute{
	"growth_factor": schema.Int64Attribute{
		Optional:            true,
		MarkdownDescription: `Either the number or percentage of addresses to grow by.`,
	},
	"growth_type": schema.StringAttribute{
		Optional:            true,
		MarkdownDescription: `The type of factor to use: _percent_ or _count_.`,
	},
}
View Source
var IpamsvcDDNSBlockAttrTypes = map[string]attr.Type{
	"client_principal":        types.StringType,
	"ddns_domain":             types.StringType,
	"ddns_enabled":            types.BoolType,
	"ddns_send_updates":       types.BoolType,
	"ddns_zones":              types.ListType{ElemType: types.ObjectType{AttrTypes: IpamsvcDDNSZoneAttrTypes}},
	"gss_tsig_fallback":       types.BoolType,
	"kerberos_kdc":            types.StringType,
	"kerberos_keys":           types.ListType{ElemType: types.ObjectType{AttrTypes: IpamsvcKerberosKeyAttrTypes}},
	"kerberos_rekey_interval": types.Int64Type,
	"kerberos_retry_interval": types.Int64Type,
	"kerberos_tkey_lifetime":  types.Int64Type,
	"kerberos_tkey_protocol":  types.StringType,
	"server_principal":        types.StringType,
}
View Source
var IpamsvcDDNSBlockResourceSchemaAttributes = map[string]schema.Attribute{
	"client_principal": schema.StringAttribute{
		Optional:            true,
		MarkdownDescription: `The Kerberos principal name. It uses the typical Kerberos notation: <SERVICE-NAME>/<server-domain-name>@<REALM>.  Defaults to empty.`,
	},
	"ddns_domain": schema.StringAttribute{
		Optional:            true,
		MarkdownDescription: `The domain name for DDNS.`,
	},
	"ddns_enabled": schema.BoolAttribute{
		Optional:            true,
		MarkdownDescription: `Indicates if DDNS is enabled.`,
	},
	"ddns_send_updates": schema.BoolAttribute{
		Optional:            true,
		MarkdownDescription: `Determines if DDNS updates are enabled at this level.`,
	},
	"ddns_zones": schema.ListNestedAttribute{
		NestedObject: schema.NestedAttributeObject{
			Attributes: IpamsvcDDNSZoneResourceSchemaAttributes,
		},
		Optional:            true,
		MarkdownDescription: `The list of DDNS zones.`,
	},
	"gss_tsig_fallback": schema.BoolAttribute{
		Optional:            true,
		MarkdownDescription: `The behavior when GSS-TSIG should be used (a matching external DNS server is configured) but no GSS-TSIG key is available. If configured to _false_ (the default) this DNS server is skipped, if configured to _true_ the DNS server is ignored and the DNS update is sent with the configured DHCP-DDNS protection e.g. TSIG key or without any protection when none was configured.  Defaults to _false_.`,
	},
	"kerberos_kdc": schema.StringAttribute{
		Optional:            true,
		MarkdownDescription: `Address of Kerberos Key Distribution Center.  Defaults to empty.`,
	},
	"kerberos_keys": schema.ListNestedAttribute{
		NestedObject: schema.NestedAttributeObject{
			Attributes: IpamsvcKerberosKeyResourceSchemaAttributes,
		},
		Optional:            true,
		MarkdownDescription: `_kerberos_keys_ contains a list of keys for GSS-TSIG signed dynamic updates.  Defaults to empty.`,
	},
	"kerberos_rekey_interval": schema.Int64Attribute{
		Optional:            true,
		MarkdownDescription: `Time interval (in seconds) the keys for each configured external DNS server are checked for rekeying, i.e. a new key is created to replace the current usable one when its age is greater than the rekey_interval value.  Defaults to 120 seconds.`,
	},
	"kerberos_retry_interval": schema.Int64Attribute{
		Optional:            true,
		MarkdownDescription: `Time interval (in seconds) to retry to create a key if any error occurred previously for any configured external DNS server.  Defaults to 30 seconds.`,
	},
	"kerberos_tkey_lifetime": schema.Int64Attribute{
		Optional:            true,
		MarkdownDescription: `Lifetime (in seconds) of GSS-TSIG keys in the TKEY protocol.  Defaults to 160 seconds.`,
	},
	"kerberos_tkey_protocol": schema.StringAttribute{
		Optional:            true,
		MarkdownDescription: `Determines which protocol is used to establish the security context with the external DNS servers, TCP or UDP.  Defaults to _tcp_.`,
	},
	"server_principal": schema.StringAttribute{
		Optional:            true,
		MarkdownDescription: `The Kerberos principal name of the external DNS server that will receive updates.  Defaults to empty.`,
	},
}
View Source
var IpamsvcDDNSHostnameBlockAttrTypes = map[string]attr.Type{
	"ddns_generate_name":    types.BoolType,
	"ddns_generated_prefix": types.StringType,
}
View Source
var IpamsvcDDNSHostnameBlockResourceSchemaAttributes = map[string]schema.Attribute{
	"ddns_generate_name": schema.BoolAttribute{
		Optional:            true,
		MarkdownDescription: `Indicates if DDNS should generate a hostname when not supplied by the client.`,
	},
	"ddns_generated_prefix": schema.StringAttribute{
		Optional:            true,
		MarkdownDescription: `The prefix used in the generation of an FQDN.`,
	},
}
View Source
var IpamsvcDDNSUpdateBlockAttrTypes = map[string]attr.Type{
	"ddns_domain":       types.StringType,
	"ddns_send_updates": types.BoolType,
}
View Source
var IpamsvcDDNSUpdateBlockResourceSchemaAttributes = map[string]schema.Attribute{
	"ddns_domain": schema.StringAttribute{
		Optional:            true,
		MarkdownDescription: `The domain name for DDNS.`,
	},
	"ddns_send_updates": schema.BoolAttribute{
		Optional:            true,
		MarkdownDescription: `Determines if DDNS updates are enabled at this level.`,
	},
}
View Source
var IpamsvcDDNSZoneAttrTypes = map[string]attr.Type{
	"fqdn":             types.StringType,
	"gss_tsig_enabled": types.BoolType,
	"nameservers":      types.ListType{ElemType: types.ObjectType{AttrTypes: IpamsvcNameserverAttrTypes}},
	"tsig_enabled":     types.BoolType,
	"tsig_key":         types.ObjectType{AttrTypes: IpamsvcTSIGKeyAttrTypes},
	"view":             types.StringType,
	"view_name":        types.StringType,
	"zone":             types.StringType,
}
View Source
var IpamsvcDDNSZoneResourceSchemaAttributes = map[string]schema.Attribute{
	"fqdn": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		MarkdownDescription: `Zone FQDN.  If _zone_ is defined, the _fqdn_ field must be empty.`,
	},
	"gss_tsig_enabled": schema.BoolAttribute{
		Optional:            true,
		Computed:            true,
		Default:             booldefault.StaticBool(false),
		MarkdownDescription: `_gss_tsig_enabled_ enables/disables GSS-TSIG signed dynamic updates.  Defaults to _false_.`,
	},
	"nameservers": schema.ListNestedAttribute{
		NestedObject: schema.NestedAttributeObject{
			Attributes: IpamsvcNameserverResourceSchemaAttributes,
		},
		Optional:            true,
		MarkdownDescription: `The Nameservers in the zone.  Each nameserver IP should be unique across the list of nameservers.`,
	},
	"tsig_enabled": schema.BoolAttribute{
		Optional:            true,
		Computed:            true,
		Default:             booldefault.StaticBool(false),
		MarkdownDescription: `Indicates if TSIG key should be used for the update.  Defaults to _false_.`,
	},
	"tsig_key": schema.SingleNestedAttribute{
		Attributes: IpamsvcTSIGKeyResourceSchemaAttributes,
		Optional:   true,
	},
	"view": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The resource identifier.`,
	},
	"view_name": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The name of the view.`,
	},
	"zone": schema.StringAttribute{
		Required:            true,
		MarkdownDescription: `The resource identifier.`,
	},
}
View Source
var IpamsvcDHCPConfigAttrTypes = map[string]attr.Type{
	"abandoned_reclaim_time":    types.Int64Type,
	"abandoned_reclaim_time_v6": types.Int64Type,
	"allow_unknown":             types.BoolType,
	"allow_unknown_v6":          types.BoolType,
	"echo_client_id":            types.BoolType,
	"filters":                   types.ListType{ElemType: types.StringType},
	"filters_large_selection":   types.ListType{ElemType: types.StringType},
	"filters_v6":                types.ListType{ElemType: types.StringType},
	"ignore_client_uid":         types.BoolType,
	"ignore_list":               types.ListType{ElemType: types.ObjectType{AttrTypes: IpamsvcIgnoreItemAttrTypes}},
	"lease_time":                types.Int64Type,
	"lease_time_v6":             types.Int64Type,
}
View Source
var IpamsvcDHCPInfoAttrTypes = map[string]attr.Type{
	"client_hostname":    types.StringType,
	"client_hwaddr":      types.StringType,
	"client_id":          types.StringType,
	"end":                timetypes.RFC3339Type{},
	"fingerprint":        types.StringType,
	"iaid":               types.Int64Type,
	"lease_type":         types.StringType,
	"preferred_lifetime": timetypes.RFC3339Type{},
	"remain":             types.Int64Type,
	"start":              timetypes.RFC3339Type{},
	"state":              types.StringType,
	"state_ts":           timetypes.RFC3339Type{},
}
View Source
var IpamsvcDHCPInfoResourceSchemaAttributes = map[string]schema.Attribute{
	"client_hostname": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The DHCP host name associated with this client.",
	},
	"client_hwaddr": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The hardware address associated with this client.",
	},
	"client_id": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The ID associated with this client.",
	},
	"end": schema.StringAttribute{
		CustomType:          timetypes.RFC3339Type{},
		Computed:            true,
		MarkdownDescription: "The timestamp at which the _state_, when set to _leased_, will be changed to _free_.",
	},
	"fingerprint": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The DHCP fingerprint for the associated lease.",
	},
	"iaid": schema.Int64Attribute{
		Computed:            true,
		MarkdownDescription: "Identity Association Identifier (IAID) of the lease. Applicable only for DHCPv6.",
	},
	"lease_type": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "Lease type. Applicable only for address under DHCP control. The value can be empty for address not under DHCP control.  Valid values are: * _DHCPv6NonTemporaryAddress_: DHCPv6 non-temporary address (NA) * _DHCPv6TemporaryAddress_: DHCPv6 temporary address (TA) * _DHCPv6PrefixDelegation_: DHCPv6 prefix delegation (PD) * _DHCPv4_: DHCPv4 lease",
	},
	"preferred_lifetime": schema.StringAttribute{
		CustomType:          timetypes.RFC3339Type{},
		Computed:            true,
		MarkdownDescription: "The length of time that a valid address is preferred (i.e., the time until deprecation). When the preferred lifetime expires, the address becomes deprecated on the client. It is still considered leased on the server. Applicable only for DHCPv6.",
	},
	"remain": schema.Int64Attribute{
		Computed:            true,
		MarkdownDescription: "The remaining time, in seconds, until which the _state_, when set to _leased_, will remain in that state.",
	},
	"start": schema.StringAttribute{
		CustomType:          timetypes.RFC3339Type{},
		Computed:            true,
		MarkdownDescription: "The timestamp at which _state_ was first set to _leased_.",
	},
	"state": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "Indicates the status of this IP address from a DHCP protocol standpoint as:   * _none_: Address is not under DHCP control.   * _free_: Address is under DHCP control but has no lease currently assigned.   * _leased_: Address is under DHCP control and has a lease currently assigned. The lease details are contained in the matching _dhcp/lease_ resource.",
	},
	"state_ts": schema.StringAttribute{
		CustomType:          timetypes.RFC3339Type{},
		Computed:            true,
		MarkdownDescription: "The timestamp at which the _state_ was last reported.",
	},
}
View Source
var IpamsvcDHCPInheritanceAttrTypes = map[string]attr.Type{
	"asm_config":                    types.ObjectType{AttrTypes: IpamsvcInheritedASMConfigAttrTypes},
	"ddns_client_update":            types.ObjectType{AttrTypes: InheritanceInheritedStringAttrTypes},
	"ddns_conflict_resolution_mode": types.ObjectType{AttrTypes: InheritanceInheritedStringAttrTypes},
	"ddns_enabled":                  types.ObjectType{AttrTypes: InheritanceInheritedBoolAttrTypes},
	"ddns_hostname_block":           types.ObjectType{AttrTypes: IpamsvcInheritedDDNSHostnameBlockAttrTypes},
	"ddns_ttl_percent":              types.ObjectType{AttrTypes: InheritanceInheritedFloatAttrTypes},
	"ddns_update_block":             types.ObjectType{AttrTypes: IpamsvcInheritedDDNSUpdateBlockAttrTypes},
	"ddns_update_on_renew":          types.ObjectType{AttrTypes: InheritanceInheritedBoolAttrTypes},
	"ddns_use_conflict_resolution":  types.ObjectType{AttrTypes: InheritanceInheritedBoolAttrTypes},
	"dhcp_config":                   types.ObjectType{AttrTypes: IpamsvcInheritedDHCPConfigAttrTypes},
	"dhcp_options":                  types.ObjectType{AttrTypes: IpamsvcInheritedDHCPOptionListAttrTypes},
	"header_option_filename":        types.ObjectType{AttrTypes: InheritanceInheritedStringAttrTypes},
	"header_option_server_address":  types.ObjectType{AttrTypes: InheritanceInheritedStringAttrTypes},
	"header_option_server_name":     types.ObjectType{AttrTypes: InheritanceInheritedStringAttrTypes},
	"hostname_rewrite_block":        types.ObjectType{AttrTypes: IpamsvcInheritedHostnameRewriteBlockAttrTypes},
}
View Source
var IpamsvcDHCPInheritanceResourceSchemaAttributes = map[string]schema.Attribute{
	"asm_config": schema.SingleNestedAttribute{
		Attributes:          IpamsvcInheritedASMConfigResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _asm_config_ field.",
	},
	"ddns_client_update": schema.SingleNestedAttribute{
		Attributes:          InheritanceInheritedStringResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _ddns_client_update_ field.",
	},
	"ddns_conflict_resolution_mode": schema.SingleNestedAttribute{
		Attributes:          InheritanceInheritedStringResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _ddns_conflict_resolution_mode_ field.",
	},
	"ddns_enabled": schema.SingleNestedAttribute{
		Attributes:          InheritanceInheritedBoolResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _ddns_enabled_ field. Only action allowed is 'inherit'.",
	},
	"ddns_hostname_block": schema.SingleNestedAttribute{
		Attributes:          IpamsvcInheritedDDNSHostnameBlockResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _ddns_generate_name_ and _ddns_generated_prefix_ fields.",
	},
	"ddns_ttl_percent": schema.SingleNestedAttribute{
		Attributes:          InheritanceInheritedFloatResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _ddns_ttl_percent_ field.",
	},
	"ddns_update_block": schema.SingleNestedAttribute{
		Attributes:          IpamsvcInheritedDDNSUpdateBlockResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _ddns_send_updates_ and _ddns_domain_ fields.",
	},
	"ddns_update_on_renew": schema.SingleNestedAttribute{
		Attributes:          InheritanceInheritedBoolResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _ddns_update_on_renew_ field.",
	},
	"ddns_use_conflict_resolution": schema.SingleNestedAttribute{
		Attributes:          InheritanceInheritedBoolResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _ddns_use_conflict_resolution_ field.",
	},
	"dhcp_config": schema.SingleNestedAttribute{
		Attributes:          IpamsvcInheritedDHCPConfigResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _dhcp_config_ field.",
	},
	"dhcp_options": schema.SingleNestedAttribute{
		Attributes:          IpamsvcInheritedDHCPOptionListResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _dhcp_options_ field.",
	},
	"header_option_filename": schema.SingleNestedAttribute{
		Attributes:          InheritanceInheritedStringResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _header_option_filename_ field.",
	},
	"header_option_server_address": schema.SingleNestedAttribute{
		Attributes:          InheritanceInheritedStringResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _header_option_server_address_ field.",
	},
	"header_option_server_name": schema.SingleNestedAttribute{
		Attributes:          InheritanceInheritedStringResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _header_option_server_name_ field.",
	},
	"hostname_rewrite_block": schema.SingleNestedAttribute{
		Attributes:          IpamsvcInheritedHostnameRewriteBlockResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _hostname_rewrite_enabled_, _hostname_rewrite_regex_, and _hostname_rewrite_char_ fields.",
	},
}
View Source
var IpamsvcDHCPOptionsInheritanceAttrTypes = map[string]attr.Type{
	"dhcp_options": types.ObjectType{AttrTypes: IpamsvcInheritedDHCPOptionListAttrTypes},
}
View Source
var IpamsvcDHCPOptionsInheritanceResourceSchemaAttributes = map[string]schema.Attribute{
	"dhcp_options": schema.SingleNestedAttribute{
		Attributes:          IpamsvcInheritedDHCPOptionListResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for the _dhcp_options_ field.",
	},
}
View Source
var IpamsvcDHCPUtilizationAttrTypes = map[string]attr.Type{
	"dhcp_free":        types.StringType,
	"dhcp_total":       types.StringType,
	"dhcp_used":        types.StringType,
	"dhcp_utilization": types.Int64Type,
}
View Source
var IpamsvcDHCPUtilizationResourceSchemaAttributes = map[string]schema.Attribute{
	"dhcp_free": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The total free IP addresses in the DHCP ranges in the scope of this object. It can be computed as _dhcp_total_ - _dhcp_used_.",
	},
	"dhcp_total": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The total IP addresses available in the DHCP ranges in the scope of this object.",
	},
	"dhcp_used": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The total IP addresses marked as used in the DHCP ranges in the scope of this object.",
	},
	"dhcp_utilization": schema.Int64Attribute{
		Computed:            true,
		MarkdownDescription: "The percentage of used IP addresses relative to the total IP addresses available in the DHCP ranges in the scope of this object.",
	},
}
View Source
var IpamsvcExclusionRangeAttrTypes = map[string]attr.Type{
	"comment": types.StringType,
	"end":     types.StringType,
	"start":   types.StringType,
}
View Source
var IpamsvcExclusionRangeResourceSchemaAttributes = map[string]schema.Attribute{
	"comment": schema.StringAttribute{
		Optional: true,
		Computed: true,
		Default:  stringdefault.StaticString(""),
		Validators: []validator.String{
			stringvalidator.LengthBetween(0, 1024),
		},
		MarkdownDescription: "The description for the exclusion range. May contain 0 to 1024 characters. Can include UTF-8.",
	},
	"end": schema.StringAttribute{
		Required:            true,
		MarkdownDescription: "The end address of the exclusion range.",
	},
	"start": schema.StringAttribute{
		Required:            true,
		MarkdownDescription: "The start address of the exclusion range.",
	},
}
View Source
var IpamsvcFixedAddressAttrTypes = map[string]attr.Type{
	"address":                      types.StringType,
	"comment":                      types.StringType,
	"compartment_id":               types.StringType,
	"created_at":                   timetypes.RFC3339Type{},
	"dhcp_options":                 types.ListType{ElemType: types.ObjectType{AttrTypes: IpamsvcOptionItemAttrTypes}},
	"disable_dhcp":                 types.BoolType,
	"header_option_filename":       types.StringType,
	"header_option_server_address": types.StringType,
	"header_option_server_name":    types.StringType,
	"hostname":                     types.StringType,
	"id":                           types.StringType,
	"inheritance_assigned_hosts":   types.ListType{ElemType: types.ObjectType{AttrTypes: InheritanceAssignedHostAttrTypes}},
	"inheritance_parent":           types.StringType,
	"inheritance_sources":          types.ObjectType{AttrTypes: IpamsvcFixedAddressInheritanceAttrTypes},
	"ip_space":                     types.StringType,
	"match_type":                   types.StringType,
	"match_value":                  types.StringType,
	"name":                         types.StringType,
	"parent":                       types.StringType,
	"tags":                         types.MapType{ElemType: types.StringType},
	"tags_all":                     types.MapType{ElemType: types.StringType},
	"updated_at":                   timetypes.RFC3339Type{},
	"next_available_id":            types.StringType,
}
View Source
var IpamsvcFixedAddressInheritanceAttrTypes = map[string]attr.Type{
	"dhcp_options":                 types.ObjectType{AttrTypes: IpamsvcInheritedDHCPOptionListAttrTypes},
	"header_option_filename":       types.ObjectType{AttrTypes: InheritanceInheritedStringAttrTypes},
	"header_option_server_address": types.ObjectType{AttrTypes: InheritanceInheritedStringAttrTypes},
	"header_option_server_name":    types.ObjectType{AttrTypes: InheritanceInheritedStringAttrTypes},
}
View Source
var IpamsvcFixedAddressInheritanceResourceSchemaAttributes = map[string]schema.Attribute{
	"dhcp_options": schema.SingleNestedAttribute{
		Attributes:          IpamsvcInheritedDHCPOptionListResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _dhcp_options_ field.",
	},
	"header_option_filename": schema.SingleNestedAttribute{
		Attributes:          InheritanceInheritedStringResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _header_option_filename_ field.",
	},
	"header_option_server_address": schema.SingleNestedAttribute{
		Attributes:          InheritanceInheritedStringResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _header_option_server_address_ field.",
	},
	"header_option_server_name": schema.SingleNestedAttribute{
		Attributes:          InheritanceInheritedStringResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _header_option_server_name_ field.",
	},
}
View Source
var IpamsvcFixedAddressResourceSchemaAttributes = map[string]schema.Attribute{
	"address": schema.StringAttribute{
		Optional: true,
		Computed: true,
		Validators: []validator.String{
			stringvalidator.ExactlyOneOf(path.MatchRoot("address"), path.MatchRoot("next_available_id")),
		},
		PlanModifiers: []planmodifier.String{
			stringplanmodifier.RequiresReplaceIfConfigured(),
		},
		MarkdownDescription: "The reserved address.",
	},
	"comment": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString(""),
		MarkdownDescription: "The description for the fixed address. May contain 0 to 1024 characters. Can include UTF-8.",
	},
	"compartment_id": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The compartment associated with the object. If no compartment is associated with the object, the value defaults to empty.",
	},
	"created_at": schema.StringAttribute{
		CustomType:          timetypes.RFC3339Type{},
		Computed:            true,
		MarkdownDescription: "Time when the object has been created.",
	},
	"dhcp_options": schema.ListNestedAttribute{
		NestedObject: schema.NestedAttributeObject{
			Attributes: IpamsvcOptionItemResourceSchemaAttributes,
		},
		Optional:            true,
		MarkdownDescription: "The list of DHCP options. May be either a specific option or a group of options.",
	},
	"disable_dhcp": schema.BoolAttribute{
		Optional:            true,
		Computed:            true,
		Default:             booldefault.StaticBool(false),
		MarkdownDescription: "Optional. _true_ to disable object. The fixed address is converted to an exclusion when generating configuration.  Defaults to _false_.",
	},
	"header_option_filename": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString(""),
		MarkdownDescription: "The configuration for header option filename field.",
	},
	"header_option_server_address": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString(""),
		MarkdownDescription: "The configuration for header option server address field.",
	},
	"header_option_server_name": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString(""),
		MarkdownDescription: "The configuration for header option server name field.",
	},
	"hostname": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString(""),
		MarkdownDescription: "The DHCP host name associated with this fixed address. It is of FQDN type and it defaults to empty.",
	},
	"id": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The resource identifier.",
		PlanModifiers: []planmodifier.String{
			stringplanmodifier.UseStateForUnknown(),
		},
	},
	"inheritance_assigned_hosts": schema.ListNestedAttribute{
		NestedObject: schema.NestedAttributeObject{
			Attributes: InheritanceAssignedHostResourceSchemaAttributes,
		},
		Computed:            true,
		MarkdownDescription: "The list of the inheritance assigned hosts of the object.",
	},
	"inheritance_parent": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The resource identifier.",
	},
	"inheritance_sources": schema.SingleNestedAttribute{
		Attributes: IpamsvcFixedAddressInheritanceResourceSchemaAttributes,
		Optional:   true,
		Computed:   true,
		PlanModifiers: []planmodifier.Object{
			objectplanmodifier.UseStateForUnknown(),
		},
	},
	"ip_space": schema.StringAttribute{
		Optional:            true,
		MarkdownDescription: "The resource identifier.",
		PlanModifiers: []planmodifier.String{
			stringplanmodifier.RequiresReplaceIfConfigured(),
		},
	},
	"match_type": schema.StringAttribute{
		Required: true,
		MarkdownDescription: "Indicates how to match the client:\n" +
			"  * _mac_: match the client MAC address for both IPv4 and IPv6\n" +
			"  * _client_text_ or _client_hex_: match the client identifier for IPv4 only\n" +
			"  * _relay_text_ or _relay_hex_: match the circuit ID or remote ID in the DHCP relay agent option (82) for IPv4 only\n" +
			"  * _duid_: match the DHCP unique identifier, currently match only for IPv6 protocol",
	},
	"match_value": schema.StringAttribute{
		Required:            true,
		MarkdownDescription: "The value to match.",
	},
	"name": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString(""),
		MarkdownDescription: "The name of the fixed address. May contain 1 to 256 characters. Can include UTF-8.",
	},
	"parent": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The resource identifier.",
	},
	"tags": schema.MapAttribute{
		ElementType:         types.StringType,
		Optional:            true,
		Computed:            true,
		Default:             mapdefault.StaticValue(types.MapNull(types.StringType)),
		MarkdownDescription: "The tags for the fixed address in JSON format.",
	},
	"tags_all": schema.MapAttribute{
		ElementType:         types.StringType,
		Computed:            true,
		MarkdownDescription: "The tags for the fixed address in JSON format including default tags.",
	},
	"updated_at": schema.StringAttribute{
		CustomType:          timetypes.RFC3339Type{},
		Computed:            true,
		MarkdownDescription: "Time when the object has been updated. Equals to _created_at_ if not updated after creation.",
	},
	"next_available_id": schema.StringAttribute{
		Optional:            true,
		MarkdownDescription: "The resource identifier for the address block where the next available fixed address should be generated",
		Validators: []validator.String{
			stringvalidator.ExactlyOneOf(path.MatchRoot("address"), path.MatchRoot("next_available_id")),
			stringvalidator.RegexMatches(regexp.MustCompile(`^ipam/(subnet|range)/[0-9a-f-].*$`), "Should be the resource identifier of an subnet or range."),
		},
		PlanModifiers: []planmodifier.String{
			stringplanmodifier.RequiresReplaceIfConfigured(),
			stringplanmodifier.UseStateForUnknown(),
		},
	},
}
View Source
var IpamsvcHAGroupAttrTypes = map[string]attr.Type{
	"anycast_config_id": types.StringType,
	"comment":           types.StringType,
	"created_at":        timetypes.RFC3339Type{},
	"hosts":             types.ListType{ElemType: types.ObjectType{AttrTypes: IpamsvcHAGroupHostAttrTypes}},
	"id":                types.StringType,
	"ip_space":          types.StringType,
	"mode":              types.StringType,
	"name":              types.StringType,
	"status":            types.StringType,
	"status_v6":         types.StringType,
	"tags":              types.MapType{ElemType: types.StringType},
	"tags_all":          types.MapType{ElemType: types.StringType},
	"updated_at":        timetypes.RFC3339Type{},
	"collect_stats":     types.BoolType,
}
View Source
var IpamsvcHAGroupHeartbeatsAttrTypes = map[string]attr.Type{
	"peer":                    types.StringType,
	"successful_heartbeat":    types.StringType,
	"successful_heartbeat_v6": types.StringType,
}
View Source
var IpamsvcHAGroupHeartbeatsResourceSchemaAttributes = map[string]schema.Attribute{
	"peer": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The name of the peer.",
	},
	"successful_heartbeat": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The timestamp as a string of the last successful heartbeat received from the peer above.",
	},
	"successful_heartbeat_v6": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The timestamp as a string of the last successful DHCPv6 heartbeat received from the peer above.",
	},
}
View Source
var IpamsvcHAGroupHostAttrTypes = map[string]attr.Type{
	"address":    types.StringType,
	"heartbeats": types.ListType{ElemType: types.ObjectType{AttrTypes: IpamsvcHAGroupHeartbeatsAttrTypes}},
	"host":       types.StringType,
	"port":       types.Int64Type,
	"port_v6":    types.Int64Type,
	"role":       types.StringType,
	"state":      types.StringType,
	"state_v6":   types.StringType,
}
View Source
var IpamsvcHAGroupHostResourceSchemaAttributes = map[string]schema.Attribute{
	"address": schema.StringAttribute{
		Computed:            true,
		Optional:            true,
		MarkdownDescription: "The address on which this host listens.",
	},
	"heartbeats": schema.ListNestedAttribute{
		NestedObject: schema.NestedAttributeObject{
			Attributes: IpamsvcHAGroupHeartbeatsResourceSchemaAttributes,
		},
		Computed:            true,
		MarkdownDescription: "Last successful heartbeat received from its peer/s. This field is set when the _collect_stats_ is set to _true_ in the _GET_ _/dhcp/ha_group_ request.",
	},
	"host": schema.StringAttribute{
		Required:            true,
		MarkdownDescription: "The resource identifier.",
	},
	"port": schema.Int64Attribute{
		Computed:            true,
		MarkdownDescription: "The HA port.",
	},
	"port_v6": schema.Int64Attribute{
		Computed:            true,
		MarkdownDescription: "The HA port used for IPv6 communication.",
	},
	"role": schema.StringAttribute{
		Required: true,
		Validators: []validator.String{
			stringvalidator.OneOf("active", "passive"),
		},
		MarkdownDescription: "The role of this host in the HA relationship: _active_ or _passive_.",
	},
	"state": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The state of DHCP on the host. This field is set when the _collect_stats_ is set to _true_ in the _GET_ _/dhcp/ha_group_ request.",
	},
	"state_v6": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The state of DHCPv6 on the host. This field is set when the _collect_stats_ is set to _true_ in the _GET_ _/dhcp/ha_group_ request.",
	},
}
View Source
var IpamsvcHAGroupResourceSchemaAttributes = map[string]schema.Attribute{
	"anycast_config_id": schema.StringAttribute{
		Optional:            true,
		MarkdownDescription: "The resource identifier.",
	},
	"comment": schema.StringAttribute{
		Optional: true,
		Computed: true,
		Default:  stringdefault.StaticString(""),
		Validators: []validator.String{
			stringvalidator.LengthBetween(0, 1024),
		},
		MarkdownDescription: "The description for the HA group. May contain 0 to 1024 characters. Can include UTF-8.",
	},
	"created_at": schema.StringAttribute{
		CustomType:          timetypes.RFC3339Type{},
		Computed:            true,
		MarkdownDescription: "Time when the object has been created.",
	},
	"hosts": schema.ListNestedAttribute{
		NestedObject: schema.NestedAttributeObject{
			Attributes: IpamsvcHAGroupHostResourceSchemaAttributes,
		},
		Required:            true,
		MarkdownDescription: "The list of hosts.",
	},
	"id": schema.StringAttribute{
		Computed: true,
		PlanModifiers: []planmodifier.String{
			stringplanmodifier.UseStateForUnknown(),
		},
		MarkdownDescription: "The resource identifier.",
	},
	"ip_space": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The resource identifier.",
	},
	"mode": schema.StringAttribute{
		Required: true,
		Validators: []validator.String{
			stringvalidator.OneOf("active-active", "active-passive", "advanced-active-passive", "anycast"),
		},
		MarkdownDescription: "The mode of the HA group. Valid values are:\n" +
			"  * _active-active_: Both on-prem hosts remain active.\n" +
			"  * _active-passive_: One on-prem host remains active and one remains passive. When the active on-prem host is down, the passive on-prem host takes over.\n" +
			"  * _advanced-active-passive_: One on-prem host may be part of multiple HA groups. When the active on-prem host is down, the passive on-prem host takes over.",
	},
	"name": schema.StringAttribute{
		Required: true,
		Validators: []validator.String{
			stringvalidator.LengthBetween(1, 256),
		},
		MarkdownDescription: "The name of the HA group. Must contain 1 to 256 characters. Can include UTF-8.",
	},
	"status": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "Status of the HA group. This field is set when the _collect_stats_ is set to _true_ in the _GET_ _/dhcp/ha_group_ request.",
	},
	"status_v6": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "Status of the DHCPv6 HA group. This field is set when the _collect_stats_ is set to _true_ in the _GET_ _/dhcp/ha_group_ request.",
	},
	"tags": schema.MapAttribute{
		ElementType:         types.StringType,
		Optional:            true,
		Computed:            true,
		Default:             mapdefault.StaticValue(types.MapNull(types.StringType)),
		MarkdownDescription: "The tags for the HA group.",
	},
	"tags_all": schema.MapAttribute{
		ElementType:         types.StringType,
		Computed:            true,
		MarkdownDescription: "The tags for the HA group including default tags.",
	},
	"updated_at": schema.StringAttribute{
		CustomType:          timetypes.RFC3339Type{},
		Computed:            true,
		MarkdownDescription: "Time when the object has been updated. Equals to _created_at_ if not updated after creation.",
	},
	"collect_stats": schema.BoolAttribute{
		Computed:    true,
		Optional:    true,
		Description: "collect_stats gets the HA group stats(state, status, heartbeat) if set to true. Defaults to false",
		Default:     booldefault.StaticBool(false),
	},
}
View Source
var IpamsvcHostAddressAttrTypes = map[string]attr.Type{
	"address":           types.StringType,
	"ref":               types.StringType,
	"space":             types.StringType,
	"next_available_id": types.StringType,
}
View Source
var IpamsvcHostAddressResourceSchemaAttributes = map[string]schema.Attribute{
	"address": schema.StringAttribute{
		Optional: true,
		Computed: true,
		Validators: []validator.String{
			stringvalidator.ExactlyOneOf(path.MatchRelative().AtParent().AtName("address"), path.MatchRelative().AtParent().AtName("next_available_id")),
		},
		PlanModifiers: []planmodifier.String{
			stringplanmodifier.RequiresReplaceIfConfigured(),
		},
		MarkdownDescription: "Field usage depends on the operation:\n" +
			"  * For read operation, _address_ of the _Address_ corresponding to the _ref_ resource.\n" +
			"  * For write operation, _address_ to be created if the _Address_ does not exist. Required if _ref_ is not set on write:\n" +
			"    * If the _Address_ already exists and is already pointing to the right _Host_, the operation proceeds.\n" +
			"    * If the _Address_ already exists and is pointing to a different _Host, the operation must abort.\n" +
			"    * If the _Address_ already exists and is not pointing to any _Host_, it is linked to the _Host_.\n",
	},
	"ref": schema.StringAttribute{
		Computed:            true,
		Optional:            true,
		MarkdownDescription: `The resource identifier.`,
	},
	"space": schema.StringAttribute{
		Optional: true,
		Computed: true,
		Validators: []validator.String{
			stringvalidator.AlsoRequires(path.MatchRelative().AtParent().AtName("address")),
		},
		MarkdownDescription: `The resource identifier.`,
	},
	"next_available_id": schema.StringAttribute{
		Optional:            true,
		MarkdownDescription: "The resource identifier for the network container where the next available address should be generated for the host",
		Validators: []validator.String{
			stringvalidator.ExactlyOneOf(path.MatchRelative().AtParent().AtName("address"), path.MatchRelative().AtParent().AtName("next_available_id")),
			stringvalidator.RegexMatches(regexp.MustCompile(`^ipam/(subnet|range)/[0-9a-f-].*$`), "Should be the resource identifier of the network container."),
		},
		PlanModifiers: []planmodifier.String{
			stringplanmodifier.RequiresReplaceIfConfigured(),
			stringplanmodifier.UseStateForUnknown(),
		},
	},
}
View Source
var IpamsvcHostAssociatedServerAttrTypes = map[string]attr.Type{
	"id":   types.StringType,
	"name": types.StringType,
}
View Source
var IpamsvcHostAssociatedServerResourceSchemaAttributes = map[string]schema.Attribute{
	"id": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The resource identifier.",
	},
	"name": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The DHCP Config Profile name.",
	},
}
View Source
var IpamsvcHostNameAttrTypes = map[string]attr.Type{
	"alias":        types.BoolType,
	"name":         types.StringType,
	"primary_name": types.BoolType,
	"zone":         types.StringType,
}
View Source
var IpamsvcHostNameResourceSchemaAttributes = map[string]schema.Attribute{
	"alias": schema.BoolAttribute{
		Optional:            true,
		MarkdownDescription: `When _true_, the name is treated as an alias.`,
	},
	"name": schema.StringAttribute{
		Required:            true,
		MarkdownDescription: `A name for the host.`,
	},
	"primary_name": schema.BoolAttribute{
		Optional:            true,
		MarkdownDescription: `When _true_, the name field is treated as primary name. There must be one and only one primary name in the list of host names. The primary name will be treated as the canonical name for all the aliases. PTR record will be generated only for the primary name.`,
	},
	"zone": schema.StringAttribute{
		Required:            true,
		MarkdownDescription: `The resource identifier.`,
	},
}
View Source
var IpamsvcHostnameRewriteBlockAttrTypes = map[string]attr.Type{
	"hostname_rewrite_char":    types.StringType,
	"hostname_rewrite_enabled": types.BoolType,
	"hostname_rewrite_regex":   types.StringType,
}
View Source
var IpamsvcHostnameRewriteBlockResourceSchemaAttributes = map[string]schema.Attribute{
	"hostname_rewrite_char": schema.StringAttribute{
		Optional:            true,
		MarkdownDescription: `The inheritance configuration for _hostname_rewrite_char_ field.`,
	},
	"hostname_rewrite_enabled": schema.BoolAttribute{
		Optional:            true,
		MarkdownDescription: `The inheritance configuration for _hostname_rewrite_enabled_ field.`,
	},
	"hostname_rewrite_regex": schema.StringAttribute{
		Optional:            true,
		MarkdownDescription: `The inheritance configuration for _hostname_rewrite_regex_ field.`,
	},
}
View Source
var IpamsvcIPSpaceAttrTypes = map[string]attr.Type{
	"asm_config":                          types.ObjectType{AttrTypes: IpamsvcASMConfigAttrTypes},
	"asm_scope_flag":                      types.Int64Type,
	"comment":                             types.StringType,
	"compartment_id":                      types.StringType,
	"created_at":                          timetypes.RFC3339Type{},
	"ddns_client_update":                  types.StringType,
	"ddns_conflict_resolution_mode":       types.StringType,
	"ddns_domain":                         types.StringType,
	"ddns_generate_name":                  types.BoolType,
	"ddns_generated_prefix":               types.StringType,
	"ddns_send_updates":                   types.BoolType,
	"ddns_ttl_percent":                    types.Float64Type,
	"ddns_update_on_renew":                types.BoolType,
	"ddns_use_conflict_resolution":        types.BoolType,
	"default_realms":                      types.ListType{ElemType: types.StringType},
	"dhcp_config":                         types.ObjectType{AttrTypes: IpamsvcDHCPConfigAttrTypes},
	"dhcp_options":                        types.ListType{ElemType: types.ObjectType{AttrTypes: IpamsvcOptionItemAttrTypes}},
	"dhcp_options_v6":                     types.ListType{ElemType: types.ObjectType{AttrTypes: IpamsvcOptionItemAttrTypes}},
	"header_option_filename":              types.StringType,
	"header_option_server_address":        types.StringType,
	"header_option_server_name":           types.StringType,
	"hostname_rewrite_char":               types.StringType,
	"hostname_rewrite_enabled":            types.BoolType,
	"hostname_rewrite_regex":              types.StringType,
	"id":                                  types.StringType,
	"inheritance_sources":                 types.ObjectType{AttrTypes: IpamsvcIPSpaceInheritanceAttrTypes},
	"name":                                types.StringType,
	"tags":                                types.MapType{ElemType: types.StringType},
	"tags_all":                            types.MapType{ElemType: types.StringType},
	"threshold":                           types.ObjectType{AttrTypes: IpamsvcUtilizationThresholdAttrTypes},
	"updated_at":                          timetypes.RFC3339Type{},
	"utilization":                         types.ObjectType{AttrTypes: IpamsvcUtilizationAttrTypes},
	"utilization_v6":                      types.ObjectType{AttrTypes: IpamsvcUtilizationV6AttrTypes},
	"vendor_specific_option_option_space": types.StringType,
}
View Source
var IpamsvcIPSpaceInheritanceAttrTypes = map[string]attr.Type{
	"asm_config":                          types.ObjectType{AttrTypes: IpamsvcInheritedASMConfigAttrTypes},
	"ddns_client_update":                  types.ObjectType{AttrTypes: InheritanceInheritedStringAttrTypes},
	"ddns_conflict_resolution_mode":       types.ObjectType{AttrTypes: InheritanceInheritedStringAttrTypes},
	"ddns_enabled":                        types.ObjectType{AttrTypes: InheritanceInheritedBoolAttrTypes},
	"ddns_hostname_block":                 types.ObjectType{AttrTypes: IpamsvcInheritedDDNSHostnameBlockAttrTypes},
	"ddns_ttl_percent":                    types.ObjectType{AttrTypes: InheritanceInheritedFloatAttrTypes},
	"ddns_update_block":                   types.ObjectType{AttrTypes: IpamsvcInheritedDDNSUpdateBlockAttrTypes},
	"ddns_update_on_renew":                types.ObjectType{AttrTypes: InheritanceInheritedBoolAttrTypes},
	"ddns_use_conflict_resolution":        types.ObjectType{AttrTypes: InheritanceInheritedBoolAttrTypes},
	"dhcp_config":                         types.ObjectType{AttrTypes: IpamsvcInheritedDHCPConfigAttrTypes},
	"dhcp_options":                        types.ObjectType{AttrTypes: IpamsvcInheritedDHCPOptionListAttrTypes},
	"dhcp_options_v6":                     types.ObjectType{AttrTypes: IpamsvcInheritedDHCPOptionListAttrTypes},
	"header_option_filename":              types.ObjectType{AttrTypes: InheritanceInheritedStringAttrTypes},
	"header_option_server_address":        types.ObjectType{AttrTypes: InheritanceInheritedStringAttrTypes},
	"header_option_server_name":           types.ObjectType{AttrTypes: InheritanceInheritedStringAttrTypes},
	"hostname_rewrite_block":              types.ObjectType{AttrTypes: IpamsvcInheritedHostnameRewriteBlockAttrTypes},
	"vendor_specific_option_option_space": types.ObjectType{AttrTypes: InheritanceInheritedIdentifierAttrTypes},
}
View Source
var IpamsvcIPSpaceInheritanceResourceSchemaAttributes = map[string]schema.Attribute{
	"asm_config": schema.SingleNestedAttribute{
		Attributes:          IpamsvcInheritedASMConfigResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _asm_config_ field.",
	},
	"ddns_client_update": schema.SingleNestedAttribute{
		Attributes:          InheritanceInheritedStringResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _ddns_client_update_ field from _IPSpace_ object.",
	},
	"ddns_conflict_resolution_mode": schema.SingleNestedAttribute{
		Attributes:          InheritanceInheritedStringResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _ddns_conflict_resolution_mode_ field from _IPSpace_ object.",
	},
	"ddns_enabled": schema.SingleNestedAttribute{
		Attributes:          InheritanceInheritedBoolResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _ddns_enabled_ field. Only action allowed is 'inherit'.",
	},
	"ddns_hostname_block": schema.SingleNestedAttribute{
		Attributes:          IpamsvcInheritedDDNSHostnameBlockResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _ddns_generate_name_ and _ddns_generated_prefix_ fields from _IPSpace_ object.",
	},
	"ddns_ttl_percent": schema.SingleNestedAttribute{
		Attributes:          InheritanceInheritedFloatResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _ddns_ttl_percent_ field from _IPSpace_ object.",
	},
	"ddns_update_block": schema.SingleNestedAttribute{
		Attributes:          IpamsvcInheritedDDNSUpdateBlockResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _ddns_send_updates_ and _ddns_domain_ fields from _IPSpace_ object.",
	},
	"ddns_update_on_renew": schema.SingleNestedAttribute{
		Attributes:          InheritanceInheritedBoolResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _ddns_update_on_renew_ field from _IPSpace_ object.",
	},
	"ddns_use_conflict_resolution": schema.SingleNestedAttribute{
		Attributes:          InheritanceInheritedBoolResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _ddns_use_conflict_resolution_ field from _IPSpace_ object.",
	},
	"dhcp_config": schema.SingleNestedAttribute{
		Attributes:          IpamsvcInheritedDHCPConfigResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _dhcp_config_ field.",
	},
	"dhcp_options": schema.SingleNestedAttribute{
		Attributes:          IpamsvcInheritedDHCPOptionListResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _dhcp_options_ field.",
	},
	"dhcp_options_v6": schema.SingleNestedAttribute{
		Attributes:          IpamsvcInheritedDHCPOptionListResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _dhcp_options_v6_ field.",
	},
	"header_option_filename": schema.SingleNestedAttribute{
		Attributes:          InheritanceInheritedStringResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _header_option_filename_ field.",
	},
	"header_option_server_address": schema.SingleNestedAttribute{
		Attributes:          InheritanceInheritedStringResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _header_option_server_address_ field.",
	},
	"header_option_server_name": schema.SingleNestedAttribute{
		Attributes:          InheritanceInheritedStringResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _header_option_server_name_ field.",
	},
	"hostname_rewrite_block": schema.SingleNestedAttribute{
		Attributes:          IpamsvcInheritedHostnameRewriteBlockResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _hostname_rewrite_enabled_, _hostname_rewrite_regex_, and _hostname_rewrite_char_ fields from _IPSpace_ object.",
	},
	"vendor_specific_option_option_space": schema.SingleNestedAttribute{
		Attributes:          InheritanceInheritedIdentifierResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _vendor_specific_option_option_space_ field.",
	},
}
View Source
var IpamsvcIPSpaceResourceSchemaAttributes = map[string]schema.Attribute{
	"asm_config": schema.SingleNestedAttribute{
		Attributes: IpamsvcASMConfigResourceSchemaAttributes,
		Optional:   true,
		Computed:   true,
		Default: objectdefault.StaticValue(types.ObjectValueMust(IpamsvcASMConfigAttrTypes, map[string]attr.Value{
			"asm_threshold":       types.Int64Value(90),
			"enable":              types.BoolValue(true),
			"enable_notification": types.BoolValue(true),
			"forecast_period":     types.Int64Value(14),
			"growth_factor":       types.Int64Value(20),
			"growth_type":         types.StringValue("percent"),
			"history":             types.Int64Value(30),
			"min_total":           types.Int64Value(10),
			"min_unused":          types.Int64Value(10),
			"reenable_date":       timetypes.NewRFC3339ValueMust("1970-01-01T00:00:00Z"),
		})),
	},
	"asm_scope_flag": schema.Int64Attribute{
		Computed:            true,
		MarkdownDescription: `The number of times the automated scope management usage limits have been exceeded for any of the subnets in this IP space.`,
	},
	"comment": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString(""),
		MarkdownDescription: `The description for the IP space. May contain 0 to 1024 characters. Can include UTF-8.`,
	},
	"compartment_id": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString(""),
		MarkdownDescription: `The compartment associated with the object. If no compartment is associated with the object, the value defaults to empty.`,
	},
	"created_at": schema.StringAttribute{
		CustomType:          timetypes.RFC3339Type{},
		Computed:            true,
		MarkdownDescription: `Time when the object has been created.`,
	},
	"ddns_client_update": schema.StringAttribute{
		Optional: true,
		Computed: true,
		Default:  stringdefault.StaticString("client"),
		MarkdownDescription: "Controls who does the DDNS updates. Valid values are:\n" +
			"  * _client_: DHCP server updates DNS if requested by client.\n" +
			"  * _server_: DHCP server always updates DNS, overriding an update request from the client, unless the client requests no updates.\n" +
			"  * _ignore_: DHCP server always updates DNS, even if the client says not to.\n" +
			"  * _over_client_update_: Same as _server_. DHCP server always updates DNS, overriding an update request from the client, unless the client requests no updates.\n" +
			"  * _over_no_update_: DHCP server updates DNS even if the client requests that no updates be done. If the client requests to do the update, DHCP server allows it.\n" +
			"  Defaults to _client_.\n",
		Validators: []validator.String{
			stringvalidator.OneOf("client", "server", "ignore", "over_client_update", "over_no_update"),
		},
	},
	"ddns_conflict_resolution_mode": schema.StringAttribute{
		Optional: true,
		Computed: true,
		Default:  stringdefault.StaticString("check_with_dhcid"),
		MarkdownDescription: "The mode used for resolving conflicts while performing DDNS updates. Valid values are:\n\n" +
			"  * _check_with_dhcid_: It includes adding a DHCID record and checking that record via conflict detection as per RFC 4703.\n" +
			"  * _no_check_with_dhcid_: This will ignore conflict detection but add a DHCID record when creating/updating an entry.\n" +
			"  * _check_exists_with_dhcid_: This will check if there is an existing DHCID record but does not verify the value of the record matches the update. This will also update the DHCID record for the entry.\n" +
			"  * _no_check_without_dhcid_: This ignores conflict detection and will not add a DHCID record when creating/updating a DDNS entry.\n" +
			"  Defaults to _check_with_dhcid_.",
		Validators: []validator.String{
			stringvalidator.OneOf("check_with_dhcid", "no_check_with_dhcid", "check_exists_with_dhcid"),
		},
	},
	"ddns_domain": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString(""),
		MarkdownDescription: `The domain suffix for DDNS updates. FQDN, may be empty.  Defaults to empty.`,
	},
	"ddns_generate_name": schema.BoolAttribute{
		Optional:            true,
		Computed:            true,
		Default:             booldefault.StaticBool(false),
		MarkdownDescription: `Indicates if DDNS needs to generate a hostname when not supplied by the client.  Defaults to _false_.`,
	},
	"ddns_generated_prefix": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString("myhost"),
		MarkdownDescription: `The prefix used in the generation of an FQDN.  When generating a name, DHCP server will construct the name in the format: [ddns-generated-prefix]-[address-text].[ddns-qualifying-suffix]. where address-text is simply the lease IP address converted to a hyphenated string.  Defaults to \"myhost\".`,
	},
	"ddns_send_updates": schema.BoolAttribute{
		Optional:            true,
		Computed:            true,
		Default:             booldefault.StaticBool(true),
		MarkdownDescription: `Determines if DDNS updates are enabled at the IP space level. Defaults to _true_.`,
	},
	"ddns_ttl_percent": schema.Float64Attribute{
		Optional:            true,
		MarkdownDescription: `DDNS TTL value - to be calculated as a simple percentage of the lease's lifetime, using the parameter's value as the percentage. It is specified as a percentage (e.g. 25, 75). Defaults to unspecified.`,
	},
	"ddns_update_on_renew": schema.BoolAttribute{
		Optional:            true,
		Computed:            true,
		Default:             booldefault.StaticBool(false),
		MarkdownDescription: `Instructs the DHCP server to always update the DNS information when a lease is renewed even if its DNS information has not changed.  Defaults to _false_.`,
	},
	"ddns_use_conflict_resolution": schema.BoolAttribute{
		Optional:            true,
		Computed:            true,
		Default:             booldefault.StaticBool(true),
		MarkdownDescription: `When true, DHCP server will apply conflict resolution, as described in RFC 4703, when attempting to fulfill the update request.  When false, DHCP server will simply attempt to update the DNS entries per the request, regardless of whether or not they conflict with existing entries owned by other DHCP4 clients.  Defaults to _true_.`,
	},
	"default_realms": schema.ListAttribute{
		ElementType:         types.StringType,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: `Reserved for future use.`,
	},
	"dhcp_config": schema.SingleNestedAttribute{
		Attributes: IpamsvcDHCPConfigResourceSchemaAttributes(false),
		Optional:   true,
		Computed:   true,
		Default: objectdefault.StaticValue(types.ObjectValueMust(IpamsvcDHCPConfigAttrTypes, map[string]attr.Value{
			"abandoned_reclaim_time":    types.Int64Value(3600),
			"abandoned_reclaim_time_v6": types.Int64Value(3600),
			"allow_unknown":             types.BoolValue(true),
			"allow_unknown_v6":          types.BoolValue(true),
			"echo_client_id":            types.BoolValue(true),
			"filters":                   types.ListNull(types.StringType),
			"filters_v6":                types.ListNull(types.StringType),
			"filters_large_selection":   types.ListNull(types.StringType),
			"ignore_client_uid":         types.BoolValue(false),
			"ignore_list":               types.ListNull(types.ObjectType{AttrTypes: IpamsvcIgnoreItemAttrTypes}),
			"lease_time":                types.Int64Value(3600),
			"lease_time_v6":             types.Int64Value(3600),
		})),
	},
	"dhcp_options": schema.ListNestedAttribute{
		NestedObject: schema.NestedAttributeObject{
			Attributes: IpamsvcOptionItemResourceSchemaAttributes,
		},
		Optional:            true,
		MarkdownDescription: `The list of IPv4 DHCP options for IP space. May be either a specific option or a group of options.`,
	},
	"dhcp_options_v6": schema.ListNestedAttribute{
		NestedObject: schema.NestedAttributeObject{
			Attributes: IpamsvcOptionItemResourceSchemaAttributes,
		},
		Optional:            true,
		MarkdownDescription: `The list of IPv6 DHCP options for IP space. May be either a specific option or a group of options.`,
	},
	"header_option_filename": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString(""),
		MarkdownDescription: `The configuration for header option filename field.`,
	},
	"header_option_server_address": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString(""),
		MarkdownDescription: `The configuration for header option server address field.`,
	},
	"header_option_server_name": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString(""),
		MarkdownDescription: `The configuration for header option server name field.`,
	},
	"hostname_rewrite_char": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString("-"),
		MarkdownDescription: `The character to replace non-matching characters with, when hostname rewrite is enabled.  Any single ASCII character or no character if the invalid characters should be removed without replacement.  Defaults to \"-\".`,
		Validators: []validator.String{
			stringvalidator.LengthAtMost(1),
		},
	},
	"hostname_rewrite_enabled": schema.BoolAttribute{
		Optional:            true,
		Computed:            true,
		Default:             booldefault.StaticBool(false),
		MarkdownDescription: `Indicates if client supplied hostnames will be rewritten prior to DDNS update by replacing every character that does not match _hostname_rewrite_regex_ by _hostname_rewrite_char_.  Defaults to _false_.`,
	},
	"hostname_rewrite_regex": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString("[^a-zA-Z0-9_.]"),
		MarkdownDescription: `The regex bracket expression to match valid characters.  Must begin with \"[\" and end with \"]\" and be a compilable POSIX regex.  Defaults to \"[^a-zA-Z0-9_.]\".`,
	},
	"id": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The resource identifier.`,
		PlanModifiers: []planmodifier.String{
			stringplanmodifier.UseStateForUnknown(),
		},
	},
	"inheritance_sources": schema.SingleNestedAttribute{
		Attributes: IpamsvcIPSpaceInheritanceResourceSchemaAttributes,
		Optional:   true,
		Computed:   true,
		PlanModifiers: []planmodifier.Object{
			objectplanmodifier.UseStateForUnknown(),
		},
	},
	"name": schema.StringAttribute{
		Required:            true,
		MarkdownDescription: `The name of the IP space. Must contain 1 to 256 characters. Can include UTF-8.`,
	},
	"tags": schema.MapAttribute{
		ElementType:         types.StringType,
		Optional:            true,
		Computed:            true,
		Default:             mapdefault.StaticValue(types.MapNull(types.StringType)),
		MarkdownDescription: `The tags for the IP space in JSON format.`,
	},
	"tags_all": schema.MapAttribute{
		ElementType:         types.StringType,
		Computed:            true,
		MarkdownDescription: "The tags of the IP space in JSON format including default tags.",
	},
	"threshold": schema.SingleNestedAttribute{
		Attributes: IpamsvcUtilizationThresholdResourceSchemaAttributes,
		Computed:   true,
	},
	"updated_at": schema.StringAttribute{
		CustomType:          timetypes.RFC3339Type{},
		Computed:            true,
		MarkdownDescription: `Time when the object has been updated. Equals to _created_at_ if not updated after creation.`,
	},
	"utilization": schema.SingleNestedAttribute{
		Attributes:          IpamsvcUtilizationResourceSchemaAttributes,
		Computed:            true,
		MarkdownDescription: `The utilization of IPV4 addresses in the IP space.`,
	},
	"utilization_v6": schema.SingleNestedAttribute{
		Attributes:          IpamsvcUtilizationV6ResourceSchemaAttributes,
		Computed:            true,
		MarkdownDescription: `The utilization of IPV6 addresses in the IP space.`,
	},
	"vendor_specific_option_option_space": schema.StringAttribute{
		Optional:            true,
		MarkdownDescription: `The resource identifier.`,
	},
}
View Source
var IpamsvcIgnoreItemAttrTypes = map[string]attr.Type{
	"type":  types.StringType,
	"value": types.StringType,
}
View Source
var IpamsvcIgnoreItemResourceSchemaAttributes = map[string]schema.Attribute{
	"type": schema.StringAttribute{
		Required: true,
		MarkdownDescription: "Type of ignore matching: client to ignore by client identifier (client hex or client text) or hardware to ignore by hardware identifier (MAC address). It can have one of the following values:\n" +
			"  * _client_hex_\n" +
			"  * _client_text_\n" +
			"  * _hardware_",
	},
	"value": schema.StringAttribute{
		Required:            true,
		MarkdownDescription: `Value to match.`,
	},
}
View Source
var IpamsvcInheritedASMConfigAttrTypes = map[string]attr.Type{
	"asm_enable_block": types.ObjectType{AttrTypes: IpamsvcInheritedAsmEnableBlockAttrTypes},
	"asm_growth_block": types.ObjectType{AttrTypes: IpamsvcInheritedAsmGrowthBlockAttrTypes},
	"asm_threshold":    types.ObjectType{AttrTypes: InheritanceInheritedUInt32AttrTypes},
	"forecast_period":  types.ObjectType{AttrTypes: InheritanceInheritedUInt32AttrTypes},
	"history":          types.ObjectType{AttrTypes: InheritanceInheritedUInt32AttrTypes},
	"min_total":        types.ObjectType{AttrTypes: InheritanceInheritedUInt32AttrTypes},
	"min_unused":       types.ObjectType{AttrTypes: InheritanceInheritedUInt32AttrTypes},
}
View Source
var IpamsvcInheritedASMConfigResourceSchemaAttributes = map[string]schema.Attribute{
	"asm_enable_block": schema.SingleNestedAttribute{
		Attributes:          IpamsvcInheritedAsmEnableBlockResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The block of ASM fields: _enable_, _enable_notification_, _reenable_date_.",
	},
	"asm_growth_block": schema.SingleNestedAttribute{
		Attributes:          IpamsvcInheritedAsmGrowthBlockResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The block of ASM fields: _growth_factor_, _growth_type_.",
	},
	"asm_threshold": schema.SingleNestedAttribute{
		Attributes:          InheritanceInheritedUInt32ResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "ASM shows the number of addresses forecast to be used _forecast_period_ days in the future, if it is greater than _asm_threshold_percent_ * _dhcp_total_ (see _dhcp_utilization_) then the subnet is flagged.",
	},
	"forecast_period": schema.SingleNestedAttribute{
		Attributes:          InheritanceInheritedUInt32ResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The forecast period in days.",
	},
	"history": schema.SingleNestedAttribute{
		Attributes:          InheritanceInheritedUInt32ResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The minimum amount of history needed before ASM can run on this subnet.",
	},
	"min_total": schema.SingleNestedAttribute{
		Attributes:          InheritanceInheritedUInt32ResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The minimum size of range needed for ASM to run on this subnet.",
	},
	"min_unused": schema.SingleNestedAttribute{
		Attributes:          InheritanceInheritedUInt32ResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The minimum percentage of addresses that must be available outside of the DHCP ranges and fixed addresses when making a suggested change.",
	},
}
View Source
var IpamsvcInheritedAsmEnableBlockAttrTypes = map[string]attr.Type{
	"action":       types.StringType,
	"display_name": types.StringType,
	"source":       types.StringType,
	"value":        types.ObjectType{AttrTypes: IpamsvcAsmEnableBlockAttrTypes},
}
View Source
var IpamsvcInheritedAsmEnableBlockResourceSchemaAttributes = map[string]schema.Attribute{
	"action": schema.StringAttribute{
		Optional: true,
		Computed: true,
		MarkdownDescription: "The inheritance setting. Valid values are:\n" +
			"  * _inherit_: Use the inherited value.\n" +
			"  * _override_: Use the value set in the object.\n\n" +
			"  Defaults to _inherit_.",
	},
	"display_name": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The human-readable display name for the object referred to by _source_.`,
	},
	"source": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The resource identifier.`,
	},
	"value": schema.SingleNestedAttribute{
		Attributes:          utils.ToComputedAttributeMap(IpamsvcAsmEnableBlockResourceSchemaAttributes),
		Computed:            true,
		MarkdownDescription: "The inherited value.",
	},
}
View Source
var IpamsvcInheritedAsmGrowthBlockAttrTypes = map[string]attr.Type{
	"action":       types.StringType,
	"display_name": types.StringType,
	"source":       types.StringType,
	"value":        types.ObjectType{AttrTypes: IpamsvcAsmGrowthBlockAttrTypes},
}
View Source
var IpamsvcInheritedAsmGrowthBlockResourceSchemaAttributes = map[string]schema.Attribute{
	"action": schema.StringAttribute{
		Optional: true,
		Computed: true,
		MarkdownDescription: "The inheritance setting. Valid values are:\n" +
			"  * _inherit_: Use the inherited value.\n" +
			"  * _override_: Use the value set in the object.\n\n" +
			"  Defaults to _inherit_.",
	},
	"display_name": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The human-readable display name for the object referred to by _source_.`,
	},
	"source": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The resource identifier.`,
	},
	"value": schema.SingleNestedAttribute{
		Attributes:          utils.ToComputedAttributeMap(IpamsvcAsmGrowthBlockResourceSchemaAttributes),
		Computed:            true,
		MarkdownDescription: "The inherited value.",
	},
}
View Source
var IpamsvcInheritedDDNSBlockAttrTypes = map[string]attr.Type{
	"action":       types.StringType,
	"display_name": types.StringType,
	"source":       types.StringType,
	"value":        types.ObjectType{AttrTypes: IpamsvcDDNSBlockAttrTypes},
}
View Source
var IpamsvcInheritedDDNSBlockResourceSchemaAttributes = map[string]schema.Attribute{
	"action": schema.StringAttribute{
		Optional: true,
		Computed: true,
		MarkdownDescription: "The inheritance setting. Valid values are:\n" +
			"  * _inherit_: Use the inherited value.\n" +
			"  * _override_: Use the value set in the object.\n\n" +
			"  Defaults to _inherit_.",
	},
	"display_name": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The human-readable display name for the object referred to by _source_.`,
	},
	"source": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The resource identifier.`,
	},
	"value": schema.SingleNestedAttribute{
		Attributes:          utils.ToComputedAttributeMap(IpamsvcDDNSBlockResourceSchemaAttributes),
		Computed:            true,
		MarkdownDescription: "The inherited value.",
	},
}
View Source
var IpamsvcInheritedDDNSHostnameBlockAttrTypes = map[string]attr.Type{
	"action":       types.StringType,
	"display_name": types.StringType,
	"source":       types.StringType,
	"value":        types.ObjectType{AttrTypes: IpamsvcDDNSHostnameBlockAttrTypes},
}
View Source
var IpamsvcInheritedDDNSHostnameBlockResourceSchemaAttributes = map[string]schema.Attribute{
	"action": schema.StringAttribute{
		Optional: true,
		Computed: true,
		MarkdownDescription: "The inheritance setting. Valid values are:\n" +
			"  * _inherit_: Use the inherited value.\n" +
			"  * _override_: Use the value set in the object.\n\n" +
			"  Defaults to _inherit_.",
	},
	"display_name": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The human-readable display name for the object referred to by _source_.`,
	},
	"source": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The resource identifier.`,
	},
	"value": schema.SingleNestedAttribute{
		Attributes:          utils.ToComputedAttributeMap(IpamsvcDDNSHostnameBlockResourceSchemaAttributes),
		Computed:            true,
		MarkdownDescription: "The inherited value.",
	},
}
View Source
var IpamsvcInheritedDDNSUpdateBlockAttrTypes = map[string]attr.Type{
	"action":       types.StringType,
	"display_name": types.StringType,
	"source":       types.StringType,
	"value":        types.ObjectType{AttrTypes: IpamsvcDDNSUpdateBlockAttrTypes},
}
View Source
var IpamsvcInheritedDDNSUpdateBlockResourceSchemaAttributes = map[string]schema.Attribute{
	"action": schema.StringAttribute{
		Optional: true,
		Computed: true,
		MarkdownDescription: "The inheritance setting. Valid values are:\n" +
			"  * _inherit_: Use the inherited value.\n" +
			"  * _override_: Use the value set in the object.\n\n" +
			"  Defaults to _inherit_.",
	},
	"display_name": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The human-readable display name for the object referred to by _source_.`,
	},
	"source": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The resource identifier.`,
	},
	"value": schema.SingleNestedAttribute{
		Attributes:          utils.ToComputedAttributeMap(IpamsvcDDNSUpdateBlockResourceSchemaAttributes),
		Computed:            true,
		MarkdownDescription: "The inherited value.",
	},
}
View Source
var IpamsvcInheritedDHCPConfigAttrTypes = map[string]attr.Type{
	"abandoned_reclaim_time":    types.ObjectType{AttrTypes: InheritanceInheritedUInt32AttrTypes},
	"abandoned_reclaim_time_v6": types.ObjectType{AttrTypes: InheritanceInheritedUInt32AttrTypes},
	"allow_unknown":             types.ObjectType{AttrTypes: InheritanceInheritedBoolAttrTypes},
	"allow_unknown_v6":          types.ObjectType{AttrTypes: InheritanceInheritedBoolAttrTypes},
	"echo_client_id":            types.ObjectType{AttrTypes: InheritanceInheritedBoolAttrTypes},
	"filters":                   types.ObjectType{AttrTypes: InheritedDHCPConfigFilterListAttrTypes},
	"filters_v6":                types.ObjectType{AttrTypes: InheritedDHCPConfigFilterListAttrTypes},
	"ignore_client_uid":         types.ObjectType{AttrTypes: InheritanceInheritedBoolAttrTypes},
	"ignore_list":               types.ObjectType{AttrTypes: InheritedDHCPConfigIgnoreItemListAttrTypes},
	"lease_time":                types.ObjectType{AttrTypes: InheritanceInheritedUInt32AttrTypes},
	"lease_time_v6":             types.ObjectType{AttrTypes: InheritanceInheritedUInt32AttrTypes},
}
View Source
var IpamsvcInheritedDHCPConfigResourceSchemaAttributes = map[string]schema.Attribute{
	"abandoned_reclaim_time": schema.SingleNestedAttribute{
		Attributes:          InheritanceInheritedUInt32ResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _abandoned_reclaim_time_ field from _DHCPConfig_ object.",
	},
	"abandoned_reclaim_time_v6": schema.SingleNestedAttribute{
		Attributes:          InheritanceInheritedUInt32ResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _abandoned_reclaim_time_v6_ field from _DHCPConfig_ object.",
	},
	"allow_unknown": schema.SingleNestedAttribute{
		Attributes:          InheritanceInheritedBoolResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _allow_unknown_ field from _DHCPConfig_ object.",
	},
	"allow_unknown_v6": schema.SingleNestedAttribute{
		Attributes:          InheritanceInheritedBoolResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _allow_unknown_v6_ field from _DHCPConfig_ object.",
	},
	"echo_client_id": schema.SingleNestedAttribute{
		Attributes:          InheritanceInheritedBoolResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _echo_client_id_ field from _DHCPConfig_ object.",
	},
	"filters": schema.SingleNestedAttribute{
		Attributes:          InheritedDHCPConfigFilterListResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for filters field from _DHCPConfig_ object.",
	},
	"filters_v6": schema.SingleNestedAttribute{
		Attributes:          InheritedDHCPConfigFilterListResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _filters_v6_ field from _DHCPConfig_ object.",
	},
	"ignore_client_uid": schema.SingleNestedAttribute{
		Attributes:          InheritanceInheritedBoolResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _ignore_client_uid_ field from _DHCPConfig_ object.",
	},
	"ignore_list": schema.SingleNestedAttribute{
		Attributes:          InheritedDHCPConfigIgnoreItemListResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _ignore_list_ field from _DHCPConfig_ object.",
	},
	"lease_time": schema.SingleNestedAttribute{
		Attributes:          InheritanceInheritedUInt32ResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _lease_time_ field from _DHCPConfig_ object.",
	},
	"lease_time_v6": schema.SingleNestedAttribute{
		Attributes:          InheritanceInheritedUInt32ResourceSchemaAttributes,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The inheritance configuration for _lease_time_v6_ field from _DHCPConfig_ object.",
	},
}
View Source
var IpamsvcInheritedDHCPOptionAttrTypes = map[string]attr.Type{
	"action":       types.StringType,
	"display_name": types.StringType,
	"source":       types.StringType,
	"value":        types.ObjectType{AttrTypes: IpamsvcInheritedDHCPOptionItemAttrTypes},
}
View Source
var IpamsvcInheritedDHCPOptionItemAttrTypes = map[string]attr.Type{
	"option":           types.ObjectType{AttrTypes: IpamsvcOptionItemAttrTypes},
	"overriding_group": types.StringType,
}
View Source
var IpamsvcInheritedDHCPOptionItemResourceSchemaAttributes = map[string]schema.Attribute{
	"option": schema.SingleNestedAttribute{
		Attributes:          IpamsvcOptionItemResourceSchemaAttributes,
		Optional:            true,
		MarkdownDescription: "Option inherited from the ancestor.",
	},
	"overriding_group": schema.StringAttribute{
		Optional:            true,
		MarkdownDescription: `The resource identifier.`,
	},
}
View Source
var IpamsvcInheritedDHCPOptionListAttrTypes = map[string]attr.Type{
	"action": types.StringType,
	"value":  types.ListType{ElemType: types.ObjectType{AttrTypes: IpamsvcInheritedDHCPOptionAttrTypes}},
}
View Source
var IpamsvcInheritedDHCPOptionListResourceSchemaAttributes = map[string]schema.Attribute{
	"action": schema.StringAttribute{
		Optional: true,
		Computed: true,
		MarkdownDescription: "The inheritance setting. Valid values are:\n" +
			"  * _inherit_: Use the inherited value.\n" +
			"  * _block_: Don't use the inherited value.\n\n" +
			"  Defaults to _inherit_.",
	},
	"value": schema.ListNestedAttribute{
		NestedObject: schema.NestedAttributeObject{
			Attributes: IpamsvcInheritedDHCPOptionResourceSchemaAttributes,
		},
		Optional:            true,
		Computed:            true,
		MarkdownDescription: `The inherited DHCP option values.`,
	},
}
View Source
var IpamsvcInheritedDHCPOptionResourceSchemaAttributes = map[string]schema.Attribute{
	"action": schema.StringAttribute{
		Optional: true,
		Computed: true,
		MarkdownDescription: "The inheritance setting. Valid values are:\n" +
			"  * _inherit_: Use the inherited value.\n" +
			"  * _block_: Don't use the inherited value.\n\n" +
			"  Defaults to _inherit_.",
	},
	"display_name": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The human-readable display name for the object referred to by _source_.`,
	},
	"source": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The resource identifier.`,
	},
	"value": schema.SingleNestedAttribute{
		Attributes:          utils.ToComputedAttributeMap(IpamsvcInheritedDHCPOptionItemResourceSchemaAttributes),
		Computed:            true,
		MarkdownDescription: "The inherited value for the DHCP option.",
	},
}
View Source
var IpamsvcInheritedHostnameRewriteBlockAttrTypes = map[string]attr.Type{
	"action":       types.StringType,
	"display_name": types.StringType,
	"source":       types.StringType,
	"value":        types.ObjectType{AttrTypes: IpamsvcHostnameRewriteBlockAttrTypes},
}
View Source
var IpamsvcInheritedHostnameRewriteBlockResourceSchemaAttributes = map[string]schema.Attribute{
	"action": schema.StringAttribute{
		Optional: true,
		Computed: true,
		MarkdownDescription: "The inheritance setting. Valid values are:\n" +
			"  * _inherit_: Use the inherited value.\n" +
			"  * _override_: Use the value set in the object.\n\n" +
			"  Defaults to _inherit_.",
	},
	"display_name": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The human-readable display name for the object referred to by _source_.`,
	},
	"source": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The resource identifier.`,
	},
	"value": schema.SingleNestedAttribute{
		Attributes:          utils.ToComputedAttributeMap(IpamsvcHostnameRewriteBlockResourceSchemaAttributes),
		Computed:            true,
		MarkdownDescription: "The inherited value.",
	},
}
View Source
var IpamsvcIpamHostAttrTypes = map[string]attr.Type{
	"addresses":             types.ListType{ElemType: types.ObjectType{AttrTypes: IpamsvcHostAddressAttrTypes}},
	"auto_generate_records": types.BoolType,
	"comment":               types.StringType,
	"created_at":            timetypes.RFC3339Type{},
	"host_names":            types.ListType{ElemType: types.ObjectType{AttrTypes: IpamsvcHostNameAttrTypes}},
	"id":                    types.StringType,
	"name":                  types.StringType,
	"tags":                  types.MapType{ElemType: types.StringType},
	"tags_all":              types.MapType{ElemType: types.StringType},
	"updated_at":            timetypes.RFC3339Type{},
}
View Source
var IpamsvcIpamHostResourceSchemaAttributes = map[string]schema.Attribute{
	"addresses": schema.ListNestedAttribute{
		NestedObject: schema.NestedAttributeObject{
			Attributes: IpamsvcHostAddressResourceSchemaAttributes,
		},
		Optional: true,
		PlanModifiers: []planmodifier.List{
			listplanmodifier.RequiresReplaceIfConfigured(),
		},
		MarkdownDescription: `The list of all addresses associated with the IPAM host, which may be in different IP spaces.`,
	},
	"auto_generate_records": schema.BoolAttribute{
		Optional:            true,
		Computed:            true,
		Default:             booldefault.StaticBool(false),
		MarkdownDescription: `This flag specifies if resource records have to be auto generated for the host.`,
	},
	"comment": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString(""),
		MarkdownDescription: `The description for the IPAM host. May contain 0 to 1024 characters. Can include UTF-8.`,
	},
	"created_at": schema.StringAttribute{
		CustomType:          timetypes.RFC3339Type{},
		Computed:            true,
		MarkdownDescription: `Time when the object has been created.`,
	},
	"host_names": schema.ListNestedAttribute{
		NestedObject: schema.NestedAttributeObject{
			Attributes: IpamsvcHostNameResourceSchemaAttributes,
		},
		Optional:            true,
		MarkdownDescription: `The name records to be generated for the host.  This field is required if _auto_generate_records_ is true.`,
	},
	"id": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The resource identifier.`,
		PlanModifiers: []planmodifier.String{
			stringplanmodifier.UseStateForUnknown(),
		},
	},
	"name": schema.StringAttribute{
		Required:            true,
		MarkdownDescription: `The name of the IPAM host. Must contain 1 to 256 characters. Can include UTF-8.`,
	},
	"tags": schema.MapAttribute{
		ElementType:         types.StringType,
		Optional:            true,
		Computed:            true,
		Default:             mapdefault.StaticValue(types.MapNull(types.StringType)),
		MarkdownDescription: `The tags for the IPAM host in JSON format.`,
	},
	"tags_all": schema.MapAttribute{
		ElementType:         types.StringType,
		Computed:            true,
		MarkdownDescription: `The tags for the IPAM host in JSON format including default tags.`,
	},
	"updated_at": schema.StringAttribute{
		CustomType:          timetypes.RFC3339Type{},
		Computed:            true,
		MarkdownDescription: `Time when the object has been updated. Equals to _created_at_ if not updated after creation.`,
	},
}
View Source
var IpamsvcKerberosKeyAttrTypes = map[string]attr.Type{
	"algorithm":   types.StringType,
	"domain":      types.StringType,
	"key":         types.StringType,
	"principal":   types.StringType,
	"uploaded_at": types.StringType,
	"version":     types.Int64Type,
}
View Source
var IpamsvcKerberosKeyResourceSchemaAttributes = map[string]schema.Attribute{
	"algorithm": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `Encryption algorithm of the key in accordance with RFC 3961.`,
	},
	"domain": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `Kerberos realm of the principal.`,
	},
	"key": schema.StringAttribute{
		Required:            true,
		MarkdownDescription: `The resource identifier.`,
	},
	"principal": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `Kerberos principal associated with key.`,
	},
	"uploaded_at": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `Upload time for the key.`,
	},
	"version": schema.Int64Attribute{
		Computed:            true,
		MarkdownDescription: `The version number (KVNO) of the key.`,
	},
}
View Source
var IpamsvcNameAttrTypes = map[string]attr.Type{
	"name": types.StringType,
	"type": types.StringType,
}
View Source
var IpamsvcNameResourceSchemaAttributes = map[string]schema.Attribute{
	"name": schema.StringAttribute{
		Required:            true,
		MarkdownDescription: "The name expressed as a single label or FQDN.",
	},
	"type": schema.StringAttribute{
		Required:            true,
		MarkdownDescription: "The origin of the name.",
	},
}
View Source
var IpamsvcNameserverAttrTypes = map[string]attr.Type{
	"client_principal":        types.StringType,
	"gss_tsig_fallback":       types.BoolType,
	"kerberos_rekey_interval": types.Int64Type,
	"kerberos_retry_interval": types.Int64Type,
	"kerberos_tkey_lifetime":  types.Int64Type,
	"kerberos_tkey_protocol":  types.StringType,
	"nameserver":              types.StringType,
	"server_principal":        types.StringType,
}
View Source
var IpamsvcNameserverResourceSchemaAttributes = map[string]schema.Attribute{
	"client_principal": schema.StringAttribute{
		Optional:            true,
		MarkdownDescription: `The Kerberos principal name. It uses the typical Kerberos notation: <SERVICE-NAME>/<server-domain-name>@<REALM>.  Defaults to empty.`,
	},
	"gss_tsig_fallback": schema.BoolAttribute{
		Optional:            true,
		MarkdownDescription: `The behavior when GSS-TSIG should be used (a matching external DNS server is configured) but no GSS-TSIG key is available. If configured to _false_ (the default) this DNS server is skipped, if configured to _true_ the DNS server is ignored and the DNS update is sent with the configured DHCP-DDNS protection e.g. TSIG key or without any protection when none was configured.  Defaults to _false_.`,
	},
	"kerberos_rekey_interval": schema.Int64Attribute{
		Optional:            true,
		MarkdownDescription: `Time interval (in seconds) the keys for each configured external DNS server are checked for rekeying, i.e. a new key is created to replace the current usable one when its age is greater than the _kerberos_rekey_interval_ value.  Defaults to 120 seconds.`,
	},
	"kerberos_retry_interval": schema.Int64Attribute{
		Optional:            true,
		MarkdownDescription: `Time interval (in seconds) to retry to create a key if any error occurred previously for any configured external DNS server.  Defaults to 30 seconds.`,
	},
	"kerberos_tkey_lifetime": schema.Int64Attribute{
		Optional:            true,
		MarkdownDescription: `Lifetime (in seconds) of GSS-TSIG keys in the TKEY protocol.  Defaults to 160 seconds.`,
	},
	"kerberos_tkey_protocol": schema.StringAttribute{
		Optional:            true,
		MarkdownDescription: `Determines which protocol is used to establish the security context with the external DNS servers, TCP or UDP.  Defaults to _tcp_.`,
	},
	"nameserver": schema.StringAttribute{
		Optional: true,
	},
	"server_principal": schema.StringAttribute{
		Optional:            true,
		MarkdownDescription: `The Kerberos principal name of this DNS server that will receive updates.  Defaults to empty.`,
	},
}
View Source
var IpamsvcOptionCodeAttrTypes = map[string]attr.Type{
	"array":        types.BoolType,
	"code":         types.Int64Type,
	"comment":      types.StringType,
	"created_at":   timetypes.RFC3339Type{},
	"id":           types.StringType,
	"name":         types.StringType,
	"option_space": types.StringType,
	"source":       types.StringType,
	"type":         types.StringType,
	"updated_at":   timetypes.RFC3339Type{},
}
View Source
var IpamsvcOptionCodeResourceSchemaAttributes = map[string]schema.Attribute{
	"array": schema.BoolAttribute{
		Optional:            true,
		Computed:            true,
		Default:             booldefault.StaticBool(false),
		MarkdownDescription: "Indicates whether the option value is an array of the type or not.",
	},
	"code": schema.Int64Attribute{
		Required:            true,
		MarkdownDescription: "The option code.",
	},
	"comment": schema.StringAttribute{
		Optional: true,
		Computed: true,
		Default:  stringdefault.StaticString(""),
		Validators: []validator.String{
			stringvalidator.LengthBetween(0, 1024),
		},
		MarkdownDescription: "The description for the option code. May contain 0 to 1024 characters. Can include UTF-8.",
	},
	"created_at": schema.StringAttribute{
		CustomType:          timetypes.RFC3339Type{},
		Computed:            true,
		MarkdownDescription: "Time when the object has been created.",
	},
	"id": schema.StringAttribute{
		Computed: true,
		PlanModifiers: []planmodifier.String{
			stringplanmodifier.UseStateForUnknown(),
		},
		MarkdownDescription: "The resource identifier.",
	},
	"name": schema.StringAttribute{
		Required: true,
		Validators: []validator.String{
			stringvalidator.LengthBetween(1, 256),
		},
		MarkdownDescription: "The name of the option code. Must contain 1 to 256 characters. Can include UTF-8.",
	},
	"option_space": schema.StringAttribute{
		Required:            true,
		MarkdownDescription: "The resource identifier.",
	},
	"source": schema.StringAttribute{
		Computed: true,
		MarkdownDescription: "The source for the option code. Valid values are:\n" +
			"  * _dhcp_server_\n" +
			"  * _reserved_\n" +
			"  * _blox_one_ddi_\n" +
			"  * _customer_\n\n" +
			"  Defaults to _customer_.",
	},
	"type": schema.StringAttribute{
		Required: true,
		Validators: []validator.String{
			stringvalidator.OneOf("address4", "address6", "boolean", "empty", "fqdn", "int8", "int16", "int32", "text", "uint8", "uint16", "uint32"),
		},
		MarkdownDescription: "The option type for the option code. Valid values are:\n" +
			"  * _address4_\n" +
			"  * _address6_\n" +
			"  * _boolean_\n" +
			"  * _empty_\n" +
			"  * _fqdn_\n" +
			"  * _int8_\n" +
			"  * _int16_\n" +
			"  * _int32_\n" +
			"  * _text_\n" +
			"  * _uint8_\n" +
			"  * _uint16_\n" +
			"  * _uint32_",
	},
	"updated_at": schema.StringAttribute{
		CustomType:          timetypes.RFC3339Type{},
		Computed:            true,
		MarkdownDescription: "Time when the object has been updated. Equals to _created_at_ if not updated after creation.",
	},
}
View Source
var IpamsvcOptionGroupAttrTypes = map[string]attr.Type{
	"comment":      types.StringType,
	"created_at":   timetypes.RFC3339Type{},
	"dhcp_options": types.ListType{ElemType: types.ObjectType{AttrTypes: IpamsvcOptionItemAttrTypes}},
	"id":           types.StringType,
	"name":         types.StringType,
	"protocol":     types.StringType,
	"tags":         types.MapType{ElemType: types.StringType},
	"tags_all":     types.MapType{ElemType: types.StringType},
	"updated_at":   timetypes.RFC3339Type{},
}
View Source
var IpamsvcOptionGroupResourceSchemaAttributes = map[string]schema.Attribute{
	"comment": schema.StringAttribute{
		Optional: true,
		Computed: true,
		Default:  stringdefault.StaticString(""),
		Validators: []validator.String{
			stringvalidator.LengthBetween(0, 1024),
		},
		MarkdownDescription: "The description for the option group. May contain 0 to 1024 characters. Can include UTF-8.",
	},
	"created_at": schema.StringAttribute{
		CustomType:          timetypes.RFC3339Type{},
		Computed:            true,
		MarkdownDescription: "Time when the object has been created.",
	},
	"dhcp_options": schema.ListNestedAttribute{
		NestedObject: schema.NestedAttributeObject{
			Attributes: IpamsvcOptionItemResourceSchemaAttributes,
		},
		Optional:            true,
		MarkdownDescription: "The list of DHCP options for the option group. May be either a specific option or a group of options.",
	},
	"id": schema.StringAttribute{
		Computed: true,
		PlanModifiers: []planmodifier.String{
			stringplanmodifier.UseStateForUnknown(),
		},
		MarkdownDescription: "The resource identifier.",
	},
	"name": schema.StringAttribute{
		Required: true,
		Validators: []validator.String{
			stringvalidator.LengthBetween(1, 256),
		},
		MarkdownDescription: "The name of the option group. Must contain 1 to 256 characters. Can include UTF-8.",
	},
	"protocol": schema.StringAttribute{
		Required: true,
		Validators: []validator.String{
			stringvalidator.OneOf("ip4", "ip6"),
		},
		MarkdownDescription: "The type of protocol (_ip4_ or _ip6_).",
	},
	"tags": schema.MapAttribute{
		ElementType:         types.StringType,
		Optional:            true,
		Computed:            true,
		Default:             mapdefault.StaticValue(types.MapNull(types.StringType)),
		MarkdownDescription: "The tags for the option group in JSON format.",
	},
	"tags_all": schema.MapAttribute{
		ElementType:         types.StringType,
		Computed:            true,
		MarkdownDescription: "The tags for the option group in JSON format including default tag.",
	},
	"updated_at": schema.StringAttribute{
		CustomType:          timetypes.RFC3339Type{},
		Computed:            true,
		MarkdownDescription: "Time when the object has been updated. Equals to _created_at_ if not updated after creation.",
	},
}
View Source
var IpamsvcOptionItemAttrTypes = map[string]attr.Type{
	"group":        types.StringType,
	"option_code":  types.StringType,
	"option_value": types.StringType,
	"type":         types.StringType,
}
View Source
var IpamsvcOptionItemResourceSchemaAttributes = map[string]schema.Attribute{
	"group": schema.StringAttribute{
		Optional: true,
		Validators: []validator.String{
			stringvalidator.ExactlyOneOf(path.MatchRelative().AtParent().AtName("option_code"), path.MatchRelative().AtParent().AtName("group")),
		},
		MarkdownDescription: `The resource identifier.`,
	},
	"option_code": schema.StringAttribute{
		Optional: true,
		Validators: []validator.String{
			stringvalidator.ExactlyOneOf(path.MatchRelative().AtParent().AtName("option_code"), path.MatchRelative().AtParent().AtName("group")),
		},
		MarkdownDescription: `The resource identifier.`,
	},
	"option_value": schema.StringAttribute{
		Optional: true,
		Computed: true,
		Default:  stringdefault.StaticString(""),
		Validators: []validator.String{
			stringvalidator.AlsoRequires(path.MatchRelative().AtParent().AtName("option_code")),
		},
		MarkdownDescription: `The option value.`,
	},
	"type": schema.StringAttribute{
		Optional: true,
		Validators: []validator.String{
			stringvalidator.OneOf("group", "option"),
		},
		MarkdownDescription: "The type of item. Valid values are:\n" +
			"  * _group_\n" +
			"  * _option_\n",
	},
}
View Source
var IpamsvcOptionSpaceAttrTypes = map[string]attr.Type{
	"comment":    types.StringType,
	"created_at": timetypes.RFC3339Type{},
	"id":         types.StringType,
	"name":       types.StringType,
	"protocol":   types.StringType,
	"tags":       types.MapType{ElemType: types.StringType},
	"tags_all":   types.MapType{ElemType: types.StringType},
	"updated_at": timetypes.RFC3339Type{},
}
View Source
var IpamsvcOptionSpaceResourceSchemaAttributes = map[string]schema.Attribute{
	"comment": schema.StringAttribute{
		Optional: true,
		Computed: true,
		Default:  stringdefault.StaticString(""),
		Validators: []validator.String{
			stringvalidator.LengthBetween(0, 1024),
		},
		MarkdownDescription: "The description for the option space. May contain 0 to 1024 characters. Can include UTF-8.",
	},
	"created_at": schema.StringAttribute{
		CustomType:          timetypes.RFC3339Type{},
		Computed:            true,
		MarkdownDescription: "Time when the object has been created.",
	},
	"id": schema.StringAttribute{
		Computed: true,
		PlanModifiers: []planmodifier.String{
			stringplanmodifier.UseStateForUnknown(),
		},
		MarkdownDescription: "The resource identifier.",
	},
	"name": schema.StringAttribute{
		Required: true,
		Validators: []validator.String{
			stringvalidator.LengthBetween(1, 256),
		},
		MarkdownDescription: "The name of the option space. Must contain 1 to 256 characters. Can include UTF-8.",
	},
	"protocol": schema.StringAttribute{
		Required: true,
		Validators: []validator.String{
			stringvalidator.OneOf("ip4", "ip6"),
		},
		MarkdownDescription: "The type of protocol for the option space (_ip4_ or _ip6_).",
	},
	"tags": schema.MapAttribute{
		ElementType:         types.StringType,
		Optional:            true,
		Computed:            true,
		Default:             mapdefault.StaticValue(types.MapNull(types.StringType)),
		MarkdownDescription: "The tags for the option space in JSON format.",
	},
	"tags_all": schema.MapAttribute{
		ElementType:         types.StringType,
		Computed:            true,
		MarkdownDescription: "The tags for the option space in JSON format including default tags.",
	},
	"updated_at": schema.StringAttribute{
		CustomType:          timetypes.RFC3339Type{},
		Computed:            true,
		MarkdownDescription: "Time when the object has been updated. Equals to _created_at_ if not updated after creation.",
	},
}
View Source
var IpamsvcRangeAttrTypes = map[string]attr.Type{
	"comment":                    types.StringType,
	"compartment_id":             types.StringType,
	"created_at":                 timetypes.RFC3339Type{},
	"dhcp_host":                  types.StringType,
	"dhcp_options":               types.ListType{ElemType: types.ObjectType{AttrTypes: IpamsvcOptionItemAttrTypes}},
	"disable_dhcp":               types.BoolType,
	"end":                        types.StringType,
	"exclusion_ranges":           types.ListType{ElemType: types.ObjectType{AttrTypes: IpamsvcExclusionRangeAttrTypes}},
	"filters":                    types.ListType{ElemType: types.ObjectType{AttrTypes: IpamsvcAccessFilterAttrTypes}},
	"id":                         types.StringType,
	"inheritance_assigned_hosts": types.ListType{ElemType: types.ObjectType{AttrTypes: InheritanceAssignedHostAttrTypes}},
	"inheritance_parent":         types.StringType,
	"inheritance_sources":        types.ObjectType{AttrTypes: IpamsvcDHCPOptionsInheritanceAttrTypes},
	"name":                       types.StringType,
	"parent":                     types.StringType,
	"protocol":                   types.StringType,
	"space":                      types.StringType,
	"space_name":                 types.StringType,
	"start":                      types.StringType,
	"tags":                       types.MapType{ElemType: types.StringType},
	"tags_all":                   types.MapType{ElemType: types.StringType},
	"threshold":                  types.ObjectType{AttrTypes: IpamsvcUtilizationThresholdAttrTypes},
	"updated_at":                 timetypes.RFC3339Type{},
	"utilization":                types.ObjectType{AttrTypes: IpamsvcUtilizationAttrTypes},
	"utilization_v6":             types.ObjectType{AttrTypes: IpamsvcUtilizationV6AttrTypes},
}
View Source
var IpamsvcRangeResourceSchemaAttributes = map[string]schema.Attribute{
	"comment": schema.StringAttribute{
		Optional: true,
		Computed: true,
		Default:  stringdefault.StaticString(""),
		Validators: []validator.String{
			stringvalidator.LengthBetween(0, 1024),
		},
		MarkdownDescription: "The description for the range. May contain 0 to 1024 characters. Can include UTF-8.",
	},
	"compartment_id": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The compartment associated with the object. If no compartment is associated with the object, the value defaults to empty.",
	},
	"created_at": schema.StringAttribute{
		CustomType:          timetypes.RFC3339Type{},
		Computed:            true,
		MarkdownDescription: "Time when the object has been created.",
	},
	"dhcp_host": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString(""),
		MarkdownDescription: "The resource identifier.",
	},
	"dhcp_options": schema.ListNestedAttribute{
		NestedObject: schema.NestedAttributeObject{
			Attributes: IpamsvcOptionItemResourceSchemaAttributes,
		},
		Optional:            true,
		MarkdownDescription: "The list of DHCP options. May be either a specific option or a group of options.",
	},
	"disable_dhcp": schema.BoolAttribute{
		Optional:            true,
		Computed:            true,
		Default:             booldefault.StaticBool(false),
		MarkdownDescription: "Optional. _true_ to disable object. A disabled object is effectively non-existent when generating configuration.  Defaults to _false_.",
	},
	"end": schema.StringAttribute{
		Required:            true,
		MarkdownDescription: "The end IP address of the range.",
	},
	"exclusion_ranges": schema.ListNestedAttribute{
		NestedObject: schema.NestedAttributeObject{
			Attributes: IpamsvcExclusionRangeResourceSchemaAttributes,
		},
		Optional:            true,
		MarkdownDescription: "The list of all exclusion ranges in the scope of the range.",
	},
	"filters": schema.ListNestedAttribute{
		NestedObject: schema.NestedAttributeObject{
			Attributes: IpamsvcAccessFilterResourceSchemaAttributes,
		},
		Optional:            true,
		MarkdownDescription: "The list of all allow/deny filters of the range.",
	},
	"id": schema.StringAttribute{
		Computed: true,
		PlanModifiers: []planmodifier.String{
			stringplanmodifier.UseStateForUnknown(),
		},
		MarkdownDescription: "The resource identifier.",
	},
	"inheritance_assigned_hosts": schema.ListNestedAttribute{
		NestedObject: schema.NestedAttributeObject{
			Attributes: InheritanceAssignedHostResourceSchemaAttributes,
		},
		Computed:            true,
		MarkdownDescription: "The list of the inheritance assigned hosts of the object.",
	},
	"inheritance_parent": schema.StringAttribute{
		MarkdownDescription: "The resource identifier.",
		Computed:            true,
	},
	"inheritance_sources": schema.SingleNestedAttribute{
		Attributes: IpamsvcDHCPOptionsInheritanceResourceSchemaAttributes,
		Optional:   true,
		Computed:   true,
		PlanModifiers: []planmodifier.Object{
			objectplanmodifier.UseStateForUnknown(),
		},
	},
	"name": schema.StringAttribute{
		Optional: true,
		Computed: true,
		Default:  stringdefault.StaticString(""),
		Validators: []validator.String{
			stringvalidator.LengthBetween(1, 256),
		},
		MarkdownDescription: "The name of the range. May contain 1 to 256 characters. Can include UTF-8.",
	},
	"parent": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The resource identifier.",
	},
	"protocol": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The type of protocol (_ip4_ or _ip6_).",
	},
	"space": schema.StringAttribute{
		Required: true,
		PlanModifiers: []planmodifier.String{
			stringplanmodifier.RequiresReplaceIfConfigured(),
		},
		MarkdownDescription: "The resource identifier.",
	},
	"space_name": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The name of the IP Space the range belongs to.",
	},
	"start": schema.StringAttribute{
		Required:            true,
		MarkdownDescription: "The start IP address of the range.",
	},
	"tags": schema.MapAttribute{
		ElementType:         types.StringType,
		Optional:            true,
		Computed:            true,
		Default:             mapdefault.StaticValue(types.MapNull(types.StringType)),
		MarkdownDescription: "The tags for the range in JSON format.",
	},
	"tags_all": schema.MapAttribute{
		ElementType:         types.StringType,
		Computed:            true,
		MarkdownDescription: "The tags for the range in JSON format including default tags.",
	},
	"threshold": schema.SingleNestedAttribute{
		Attributes:          IpamsvcUtilizationThresholdResourceSchemaAttributes,
		Computed:            true,
		MarkdownDescription: "The utilization threshold settings for the range.",
	},
	"updated_at": schema.StringAttribute{
		CustomType:          timetypes.RFC3339Type{},
		Computed:            true,
		MarkdownDescription: "Time when the object has been updated. Equals to _created_at_ if not updated after creation.",
	},
	"utilization": schema.SingleNestedAttribute{
		Attributes:          IpamsvcUtilizationResourceSchemaAttributes,
		Computed:            true,
		MarkdownDescription: "The utilization statistics of IPV4 addresses for the range.",
	},
	"utilization_v6": schema.SingleNestedAttribute{
		Attributes:          IpamsvcUtilizationV6ResourceSchemaAttributes,
		Computed:            true,
		MarkdownDescription: "The utilization of IPV6 addresses in the range.",
	},
}
View Source
var IpamsvcServerAttrTypes = map[string]attr.Type{
	"client_principal":                    types.StringType,
	"comment":                             types.StringType,
	"created_at":                          timetypes.RFC3339Type{},
	"ddns_client_update":                  types.StringType,
	"ddns_conflict_resolution_mode":       types.StringType,
	"ddns_domain":                         types.StringType,
	"ddns_enabled":                        types.BoolType,
	"ddns_generate_name":                  types.BoolType,
	"ddns_generated_prefix":               types.StringType,
	"ddns_send_updates":                   types.BoolType,
	"ddns_ttl_percent":                    types.Float64Type,
	"ddns_update_on_renew":                types.BoolType,
	"ddns_use_conflict_resolution":        types.BoolType,
	"ddns_zones":                          types.ListType{ElemType: types.ObjectType{AttrTypes: IpamsvcDDNSZoneAttrTypes}},
	"dhcp_config":                         types.ObjectType{AttrTypes: IpamsvcDHCPConfigAttrTypes},
	"dhcp_options":                        types.ListType{ElemType: types.ObjectType{AttrTypes: IpamsvcOptionItemAttrTypes}},
	"dhcp_options_v6":                     types.ListType{ElemType: types.ObjectType{AttrTypes: IpamsvcOptionItemAttrTypes}},
	"gss_tsig_fallback":                   types.BoolType,
	"header_option_filename":              types.StringType,
	"header_option_server_address":        types.StringType,
	"header_option_server_name":           types.StringType,
	"hostname_rewrite_char":               types.StringType,
	"hostname_rewrite_enabled":            types.BoolType,
	"hostname_rewrite_regex":              types.StringType,
	"id":                                  types.StringType,
	"inheritance_sources":                 types.ObjectType{AttrTypes: IpamsvcServerInheritanceAttrTypes},
	"kerberos_kdc":                        types.StringType,
	"kerberos_keys":                       types.ListType{ElemType: types.ObjectType{AttrTypes: IpamsvcKerberosKeyAttrTypes}},
	"kerberos_rekey_interval":             types.Int64Type,
	"kerberos_retry_interval":             types.Int64Type,
	"kerberos_tkey_lifetime":              types.Int64Type,
	"kerberos_tkey_protocol":              types.StringType,
	"name":                                types.StringType,
	"profile_type":                        types.StringType,
	"server_principal":                    types.StringType,
	"tags":                                types.MapType{ElemType: types.StringType},
	"tags_all":                            types.MapType{ElemType: types.StringType},
	"updated_at":                          timetypes.RFC3339Type{},
	"vendor_specific_option_option_space": types.StringType,
}
View Source
var IpamsvcServerInheritanceAttrTypes = map[string]attr.Type{
	"ddns_block":                          types.ObjectType{AttrTypes: IpamsvcInheritedDDNSBlockAttrTypes},
	"ddns_client_update":                  types.ObjectType{AttrTypes: InheritanceInheritedStringAttrTypes},
	"ddns_conflict_resolution_mode":       types.ObjectType{AttrTypes: InheritanceInheritedStringAttrTypes},
	"ddns_hostname_block":                 types.ObjectType{AttrTypes: IpamsvcInheritedDDNSHostnameBlockAttrTypes},
	"ddns_ttl_percent":                    types.ObjectType{AttrTypes: InheritanceInheritedFloatAttrTypes},
	"ddns_update_on_renew":                types.ObjectType{AttrTypes: InheritanceInheritedBoolAttrTypes},
	"ddns_use_conflict_resolution":        types.ObjectType{AttrTypes: InheritanceInheritedBoolAttrTypes},
	"dhcp_config":                         types.ObjectType{AttrTypes: IpamsvcInheritedDHCPConfigAttrTypes},
	"dhcp_options":                        types.ObjectType{AttrTypes: IpamsvcInheritedDHCPOptionListAttrTypes},
	"dhcp_options_v6":                     types.ObjectType{AttrTypes: IpamsvcInheritedDHCPOptionListAttrTypes},
	"header_option_filename":              types.ObjectType{AttrTypes: InheritanceInheritedStringAttrTypes},
	"header_option_server_address":        types.ObjectType{AttrTypes: InheritanceInheritedStringAttrTypes},
	"header_option_server_name":           types.ObjectType{AttrTypes: InheritanceInheritedStringAttrTypes},
	"hostname_rewrite_block":              types.ObjectType{AttrTypes: IpamsvcInheritedHostnameRewriteBlockAttrTypes},
	"vendor_specific_option_option_space": types.ObjectType{AttrTypes: InheritanceInheritedIdentifierAttrTypes},
}
View Source
var IpamsvcServerInheritanceResourceSchemaAttributes = map[string]schema.Attribute{
	"ddns_block": schema.SingleNestedAttribute{
		Attributes: IpamsvcInheritedDDNSBlockResourceSchemaAttributes,
		Optional:   true,
		Computed:   true,
	},
	"ddns_client_update": schema.SingleNestedAttribute{
		Attributes: InheritanceInheritedStringResourceSchemaAttributes,
		Optional:   true,
		Computed:   true,
	},
	"ddns_conflict_resolution_mode": schema.SingleNestedAttribute{
		Attributes: InheritanceInheritedStringResourceSchemaAttributes,
		Optional:   true,
		Computed:   true,
	},
	"ddns_hostname_block": schema.SingleNestedAttribute{
		Attributes: IpamsvcInheritedDDNSHostnameBlockResourceSchemaAttributes,
		Optional:   true,
		Computed:   true,
	},
	"ddns_ttl_percent": schema.SingleNestedAttribute{
		Attributes: InheritanceInheritedFloatResourceSchemaAttributes,
		Optional:   true,
		Computed:   true,
	},
	"ddns_update_on_renew": schema.SingleNestedAttribute{
		Attributes: InheritanceInheritedBoolResourceSchemaAttributes,
		Optional:   true,
		Computed:   true,
	},
	"ddns_use_conflict_resolution": schema.SingleNestedAttribute{
		Attributes: InheritanceInheritedBoolResourceSchemaAttributes,
		Optional:   true,
		Computed:   true,
	},
	"dhcp_config": schema.SingleNestedAttribute{
		Attributes: IpamsvcInheritedDHCPConfigResourceSchemaAttributes,
		Optional:   true,
		Computed:   true,
	},
	"dhcp_options": schema.SingleNestedAttribute{
		Attributes: IpamsvcInheritedDHCPOptionListResourceSchemaAttributes,
		Optional:   true,
		Computed:   true,
	},
	"dhcp_options_v6": schema.SingleNestedAttribute{
		Attributes: IpamsvcInheritedDHCPOptionListResourceSchemaAttributes,
		Optional:   true,
		Computed:   true,
	},
	"header_option_filename": schema.SingleNestedAttribute{
		Attributes: InheritanceInheritedStringResourceSchemaAttributes,
		Optional:   true,
		Computed:   true,
	},
	"header_option_server_address": schema.SingleNestedAttribute{
		Attributes: InheritanceInheritedStringResourceSchemaAttributes,
		Optional:   true,
		Computed:   true,
	},
	"header_option_server_name": schema.SingleNestedAttribute{
		Attributes: InheritanceInheritedStringResourceSchemaAttributes,
		Optional:   true,
		Computed:   true,
	},
	"hostname_rewrite_block": schema.SingleNestedAttribute{
		Attributes: IpamsvcInheritedHostnameRewriteBlockResourceSchemaAttributes,
		Optional:   true,
		Computed:   true,
	},
	"vendor_specific_option_option_space": schema.SingleNestedAttribute{
		Attributes: InheritanceInheritedIdentifierResourceSchemaAttributes,
		Optional:   true,
		Computed:   true,
	},
}
View Source
var IpamsvcServerResourceSchemaAttributes = map[string]schema.Attribute{
	"client_principal": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString(""),
		MarkdownDescription: "The Kerberos principal name. It uses the typical Kerberos notation: `<SERVICE-NAME>/<server-domain-name>@<REALM>`. Defaults to empty.",
	},
	"comment": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString(""),
		MarkdownDescription: "The description for the DHCP Config Profile. May contain 0 to 1024 characters. Can include UTF-8.",
	},
	"created_at": schema.StringAttribute{
		CustomType:          timetypes.RFC3339Type{},
		Computed:            true,
		MarkdownDescription: "Time when the object has been created.",
	},
	"ddns_client_update": schema.StringAttribute{
		Optional: true,
		Computed: true,
		Default:  stringdefault.StaticString("client"),
		MarkdownDescription: "Controls who does the DDNS updates. Valid values are:\n" +
			"  * _client_: DHCP server updates DNS if requested by client.\n" +
			"  * _server_: DHCP server always updates DNS, overriding an update request from the client, unless the client requests no updates.\n" +
			"  * _ignore_: DHCP server always updates DNS, even if the client says not to.\n" +
			"  * _over_client_update_: Same as _server_. DHCP server always updates DNS, overriding an update request from the client, unless the client requests no updates.\n" +
			"  * _over_no_update_: DHCP server updates DNS even if the client requests that no updates be done. If the client requests to do the update, DHCP server allows it.\n\n" +
			"  Defaults to _client_.",
		Validators: []validator.String{
			stringvalidator.OneOf("client", "server", "ignore", "over_client_update", "over_no_update"),
		},
	},
	"ddns_conflict_resolution_mode": schema.StringAttribute{
		Optional: true,
		Computed: true,
		Default:  stringdefault.StaticString("check_with_dhcid"),
		MarkdownDescription: "The mode used for resolving conflicts while performing DDNS updates. Valid values are:\n" +
			"  * _check_with_dhcid_: It includes adding a DHCID record and checking that record via conflict detection as per RFC 4703.\n" +
			"  * _no_check_with_dhcid_: This will ignore conflict detection but add a DHCID record when creating/updating an entry.\n" +
			"  * _check_exists_with_dhcid_: This will check if there is an existing DHCID record but does not verify the value of the record matches the update. This will also update the DHCID record for the entry.\n" +
			"  * _no_check_without_dhcid_: This ignores conflict detection and will not add a DHCID record when creating/updating a DDNS entry.\n\n" +
			"  Defaults to _check_with_dhcid_.",
		Validators: []validator.String{
			stringvalidator.OneOf("check_with_dhcid", "no_check_with_dhcid", "check_exists_with_dhcid"),
		},
	},
	"ddns_domain": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString(""),
		MarkdownDescription: "The domain suffix for DDNS updates. FQDN, may be empty. Required if _ddns_enabled_ is true.  Defaults to empty.",
	},
	"ddns_enabled": schema.BoolAttribute{
		Optional:            true,
		Computed:            true,
		Default:             booldefault.StaticBool(false),
		MarkdownDescription: "Indicates if DDNS updates should be performed for leases. All other _ddns_*_ configuration is ignored when this flag is unset. At a minimum, _ddns_domain_ and _ddns_zones_ must be configured to enable DDNS. Defaults to _false_.",
	},
	"ddns_generate_name": schema.BoolAttribute{
		Optional:            true,
		Computed:            true,
		Default:             booldefault.StaticBool(false),
		MarkdownDescription: "Indicates if DDNS should generate a hostname when not supplied by the client.  Defaults to _false_.",
	},
	"ddns_generated_prefix": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString("myhost"),
		MarkdownDescription: `The prefix used in the generation of an FQDN.  When generating a name, DHCP server will construct the name in the format: [ddns-generated-prefix]-[address-text].[ddns-qualifying-suffix]. where address-text is simply the lease IP address converted to a hyphenated string. Defaults to \"myhost\".`,
	},
	"ddns_send_updates": schema.BoolAttribute{
		Optional:            true,
		Computed:            true,
		Default:             booldefault.StaticBool(true),
		MarkdownDescription: `Determines if DDNS updates are enabled at the IP space level. Defaults to _true_.`,
	},
	"ddns_ttl_percent": schema.Float64Attribute{
		Optional:            true,
		MarkdownDescription: "DDNS TTL value - to be calculated as a simple percentage of the lease's lifetime, using the parameter's value as the percentage. It is specified as a percentage (e.g. 25, 75). Defaults to unspecified.",
	},
	"ddns_update_on_renew": schema.BoolAttribute{
		Optional:            true,
		Computed:            true,
		Default:             booldefault.StaticBool(false),
		MarkdownDescription: `Instructs the DHCP server to always update the DNS information when a lease is renewed even if its DNS information has not changed.  Defaults to _false_.`,
	},
	"ddns_use_conflict_resolution": schema.BoolAttribute{
		Optional:            true,
		Computed:            true,
		Default:             booldefault.StaticBool(true),
		MarkdownDescription: `When true, DHCP server will apply conflict resolution, as described in RFC 4703, when attempting to fulfill the update request.  When false, DHCP server will simply attempt to update the DNS entries per the request, regardless of whether or not they conflict with existing entries owned by other DHCP4 clients.  Defaults to _true_.`,
	},
	"ddns_zones": schema.ListNestedAttribute{
		NestedObject: schema.NestedAttributeObject{
			Attributes: IpamsvcDDNSZoneResourceSchemaAttributes,
		},
		Optional:            true,
		MarkdownDescription: "The DNS zones that DDNS updates can be sent to. There is no resolver fallback. The target zone must be explicitly configured for the update to be performed.  Updates are sent to the closest enclosing zone.  Error if _ddns_enabled_ is _true_ and the _ddns_domain_ does not have a corresponding entry in _ddns_zones_.  Error if there are items with duplicate zone in the list.  Defaults to empty list.",
		PlanModifiers: []planmodifier.List{
			listplanmodifier.RequiresReplaceIfConfigured(),
		},
	},
	"dhcp_config": schema.SingleNestedAttribute{
		Attributes: IpamsvcDHCPConfigResourceSchemaAttributes(false),
		Optional:   true,
		Computed:   true,
		Default: objectdefault.StaticValue(types.ObjectValueMust(IpamsvcDHCPConfigAttrTypes, map[string]attr.Value{
			"abandoned_reclaim_time":    types.Int64Value(3600),
			"abandoned_reclaim_time_v6": types.Int64Value(3600),
			"allow_unknown":             types.BoolValue(true),
			"allow_unknown_v6":          types.BoolValue(true),
			"echo_client_id":            types.BoolValue(true),
			"filters":                   types.ListNull(types.StringType),
			"filters_large_selection":   types.ListNull(types.StringType),
			"filters_v6":                types.ListNull(types.StringType),
			"ignore_client_uid":         types.BoolValue(true),
			"ignore_list":               types.ListNull(types.ObjectType{AttrTypes: IpamsvcIgnoreItemAttrTypes}),
			"lease_time":                types.Int64Value(3600),
			"lease_time_v6":             types.Int64Value(3600),
		})),
	},
	"dhcp_options": schema.ListNestedAttribute{
		NestedObject: schema.NestedAttributeObject{
			Attributes: IpamsvcOptionItemResourceSchemaAttributes,
		},
		Optional:            true,
		MarkdownDescription: "The list of DHCP options or group of options for IPv4. An option list is ordered and may include both option groups and specific options. Multiple occurrences of the same option or group is not an error. The last occurrence of an option in the list will be used. Error if the graph of referenced groups contains cycles. Defaults to empty list.",
	},
	"dhcp_options_v6": schema.ListNestedAttribute{
		NestedObject: schema.NestedAttributeObject{
			Attributes: IpamsvcOptionItemResourceSchemaAttributes,
		},
		Optional:            true,
		MarkdownDescription: "The list of DHCP options or group of options for IPv6. An option list is ordered and may include both option groups and specific options. Multiple occurrences of the same option or group is not an error. The last occurrence of an option in the list will be used. Error if the graph of referenced groups contains cycles. Defaults to empty list.",
	},
	"gss_tsig_fallback": schema.BoolAttribute{
		Optional:            true,
		Computed:            true,
		Default:             booldefault.StaticBool(false),
		MarkdownDescription: "The behavior when GSS-TSIG should be used (a matching external DNS server is configured) but no GSS-TSIG key is available. If configured to _false_ (the default) this DNS server is skipped, if configured to _true_ the DNS server is ignored and the DNS update is sent with the configured DHCP-DDNS protection e.g. TSIG key or without any protection when none was configured.  Defaults to _false_.",
	},
	"header_option_filename": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString(""),
		MarkdownDescription: "The configuration for header option filename field.",
	},
	"header_option_server_address": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString(""),
		MarkdownDescription: "The configuration for header option server address field.",
	},
	"header_option_server_name": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString(""),
		MarkdownDescription: "The configuration for header option server name field.",
	},
	"hostname_rewrite_char": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString("-"),
		MarkdownDescription: `The character to replace non-matching characters with, when hostname rewrite is enabled.  Any single ASCII character or no character if the invalid characters should be removed without replacement.  Defaults to \"-\".`,
		Validators: []validator.String{
			stringvalidator.LengthAtMost(1),
		},
	},
	"hostname_rewrite_enabled": schema.BoolAttribute{
		Optional:            true,
		Computed:            true,
		Default:             booldefault.StaticBool(false),
		MarkdownDescription: `Indicates if client supplied hostnames will be rewritten prior to DDNS update by replacing every character that does not match _hostname_rewrite_regex_ by _hostname_rewrite_char_.  Defaults to _false_.`,
	},
	"hostname_rewrite_regex": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString("[^a-zA-Z0-9_.]"),
		MarkdownDescription: `The regex bracket expression to match valid characters.  Must begin with \"[\" and end with \"]\" and be a compilable POSIX regex.  Defaults to \"[^a-zA-Z0-9_.]\".`,
	},
	"id": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The resource identifier.`,
		PlanModifiers: []planmodifier.String{
			stringplanmodifier.UseStateForUnknown(),
		},
	},
	"inheritance_sources": schema.SingleNestedAttribute{
		Attributes: IpamsvcServerInheritanceResourceSchemaAttributes,
		Optional:   true,
		Computed:   true,
		PlanModifiers: []planmodifier.Object{
			objectplanmodifier.UseStateForUnknown(),
		},
		MarkdownDescription: "The inheritance configuration.",
	},
	"kerberos_kdc": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString(""),
		MarkdownDescription: "Address of Kerberos Key Distribution Center.  Defaults to empty.",
	},
	"kerberos_keys": schema.ListNestedAttribute{
		NestedObject: schema.NestedAttributeObject{
			Attributes: IpamsvcKerberosKeyResourceSchemaAttributes,
		},
		Optional:            true,
		MarkdownDescription: "_kerberos_keys_ contains a list of keys for GSS-TSIG signed dynamic updates.  Defaults to empty.",
	},
	"kerberos_rekey_interval": schema.Int64Attribute{
		Optional:            true,
		Computed:            true,
		Default:             int64default.StaticInt64(120),
		MarkdownDescription: "Time interval (in seconds) the keys for each configured external DNS server are checked for rekeying, i.e. a new key is created to replace the current usable one when its age is greater than the _kerberos_rekey_interval_ value.  Defaults to 120 seconds.",
	},
	"kerberos_retry_interval": schema.Int64Attribute{
		Optional:            true,
		Computed:            true,
		Default:             int64default.StaticInt64(30),
		MarkdownDescription: "Time interval (in seconds) to retry to create a key if any error occurred previously for any configured external DNS server.  Defaults to 30 seconds.",
	},
	"kerberos_tkey_lifetime": schema.Int64Attribute{
		Optional:            true,
		Computed:            true,
		Default:             int64default.StaticInt64(160),
		MarkdownDescription: "Lifetime (in seconds) of GSS-TSIG keys in the TKEY protocol.  Defaults to 160 seconds.",
	},
	"kerberos_tkey_protocol": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "Determines which protocol is used to establish the security context with the external DNS servers, TCP or UDP.  Defaults to _tcp_.",
	},
	"name": schema.StringAttribute{
		Required:            true,
		MarkdownDescription: "The name of the DHCP Config Profile. Must contain 1 to 256 characters. Can include UTF-8.",
	},
	"profile_type": schema.StringAttribute{
		Optional: true,
		Computed: true,
		Default:  stringdefault.StaticString("server"),
		PlanModifiers: []planmodifier.String{
			stringplanmodifier.RequiresReplaceIfConfigured(),
		},
		MarkdownDescription: "The type of server object.  Defaults to _server_.  Valid values are: * _server_: The server profile type. * _subnet_: The subnet profile type.",
	},
	"server_principal": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString(""),
		MarkdownDescription: "The Kerberos principal name of the external DNS server that will receive updates.  Defaults to empty.",
	},
	"tags": schema.MapAttribute{
		ElementType:         types.StringType,
		Optional:            true,
		Computed:            true,
		Default:             mapdefault.StaticValue(types.MapNull(types.StringType)),
		MarkdownDescription: "The tags for the DHCP Config Profile in JSON format.",
	},
	"tags_all": schema.MapAttribute{
		ElementType:         types.StringType,
		Computed:            true,
		MarkdownDescription: "The tags for the DHCP Config Profile in JSON format including default tags.",
	},
	"updated_at": schema.StringAttribute{
		CustomType:          timetypes.RFC3339Type{},
		Computed:            true,
		MarkdownDescription: "Time when the object has been updated. Equals to _created_at_ if not updated after creation.",
	},
	"vendor_specific_option_option_space": schema.StringAttribute{
		Optional:            true,
		MarkdownDescription: "The resource identifier.",
	},
}
View Source
var IpamsvcSubnetAttrTypes = map[string]attr.Type{
	"address":                       types.StringType,
	"asm_config":                    types.ObjectType{AttrTypes: IpamsvcASMConfigAttrTypes},
	"asm_scope_flag":                types.Int64Type,
	"cidr":                          types.Int64Type,
	"comment":                       types.StringType,
	"compartment_id":                types.StringType,
	"config_profiles":               types.ListType{ElemType: types.StringType},
	"created_at":                    timetypes.RFC3339Type{},
	"ddns_client_update":            types.StringType,
	"ddns_conflict_resolution_mode": types.StringType,
	"ddns_domain":                   types.StringType,
	"ddns_generate_name":            types.BoolType,
	"ddns_generated_prefix":         types.StringType,
	"ddns_send_updates":             types.BoolType,
	"ddns_ttl_percent":              types.Float64Type,
	"ddns_update_on_renew":          types.BoolType,
	"ddns_use_conflict_resolution":  types.BoolType,
	"delegation":                    types.StringType,
	"dhcp_config":                   types.ObjectType{AttrTypes: IpamsvcDHCPConfigAttrTypes},
	"dhcp_host":                     types.StringType,
	"dhcp_options":                  types.ListType{ElemType: types.ObjectType{AttrTypes: IpamsvcOptionItemAttrTypes}},
	"dhcp_utilization":              types.ObjectType{AttrTypes: IpamsvcDHCPUtilizationAttrTypes},
	"disable_dhcp":                  types.BoolType,
	"discovery_attrs":               types.MapType{ElemType: types.StringType},
	"discovery_metadata":            types.MapType{ElemType: types.StringType},
	"external_keys":                 types.MapType{ElemType: types.StringType},
	"federated_realms":              internaltypes.UnorderedListOfStringType,
	"header_option_filename":        types.StringType,
	"header_option_server_address":  types.StringType,
	"header_option_server_name":     types.StringType,
	"hostname_rewrite_char":         types.StringType,
	"hostname_rewrite_enabled":      types.BoolType,
	"hostname_rewrite_regex":        types.StringType,
	"id":                            types.StringType,
	"inheritance_assigned_hosts":    types.ListType{ElemType: types.ObjectType{AttrTypes: InheritanceAssignedHostAttrTypes}},
	"inheritance_parent":            types.StringType,
	"inheritance_sources":           types.ObjectType{AttrTypes: IpamsvcDHCPInheritanceAttrTypes},
	"name":                          types.StringType,
	"parent":                        types.StringType,
	"protocol":                      types.StringType,
	"rebind_time":                   types.Int64Type,
	"renew_time":                    types.Int64Type,
	"space":                         types.StringType,
	"tags":                          types.MapType{ElemType: types.StringType},
	"tags_all":                      types.MapType{ElemType: types.StringType},
	"threshold":                     types.ObjectType{AttrTypes: IpamsvcUtilizationThresholdAttrTypes},
	"updated_at":                    timetypes.RFC3339Type{},
	"usage":                         types.ListType{ElemType: types.StringType},
	"utilization":                   types.ObjectType{AttrTypes: IpamsvcUtilizationAttrTypes},
	"utilization_v6":                types.ObjectType{AttrTypes: IpamsvcUtilizationV6AttrTypes},
	"next_available_id":             types.StringType,
}
View Source
var IpamsvcSubnetResourceSchemaAttributes = map[string]schema.Attribute{
	"address": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "The address of the subnet in the form “a.b.c.d”",
		Validators: []validator.String{
			stringvalidator.ExactlyOneOf(path.MatchRoot("address"), path.MatchRoot("next_available_id")),
		},
		PlanModifiers: []planmodifier.String{
			stringplanmodifier.RequiresReplaceIfConfigured(),
		},
	},
	"asm_config": schema.SingleNestedAttribute{
		Attributes: IpamsvcASMConfigResourceSchemaAttributes,
		Optional:   true,
		Computed:   true,
		Default: objectdefault.StaticValue(types.ObjectValueMust(IpamsvcASMConfigAttrTypes, map[string]attr.Value{
			"asm_threshold":       types.Int64Value(90),
			"enable":              types.BoolValue(true),
			"enable_notification": types.BoolValue(true),
			"forecast_period":     types.Int64Value(14),
			"growth_factor":       types.Int64Value(20),
			"growth_type":         types.StringValue("percent"),
			"history":             types.Int64Value(30),
			"min_total":           types.Int64Value(10),
			"min_unused":          types.Int64Value(10),
			"reenable_date":       timetypes.NewRFC3339ValueMust("1970-01-01T00:00:00Z"),
		})),
	},
	"asm_scope_flag": schema.Int64Attribute{
		Computed:            true,
		MarkdownDescription: "Set to 1 to indicate that the subnet may run out of addresses.",
	},
	"cidr": schema.Int64Attribute{
		Required:            true,
		MarkdownDescription: "The CIDR of the subnet. This is required if _address_ does not include CIDR.",
	},
	"comment": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString(""),
		MarkdownDescription: "The description for the subnet. May contain 0 to 1024 characters. Can include UTF-8.",
	},
	"compartment_id": schema.StringAttribute{
		Computed:            true,
		Default:             stringdefault.StaticString(""),
		MarkdownDescription: "The compartment associated with the object. If no compartment is associated with the object, the value defaults to empty.",
	},
	"config_profiles": schema.ListAttribute{
		ElementType:         types.StringType,
		Optional:            true,
		MarkdownDescription: "The resource identifier.",
	},
	"created_at": schema.StringAttribute{
		CustomType:          timetypes.RFC3339Type{},
		Computed:            true,
		MarkdownDescription: "Time when the object has been created.",
	},
	"ddns_client_update": schema.StringAttribute{
		Optional: true,
		Computed: true,
		Default:  stringdefault.StaticString("client"),
		MarkdownDescription: "Controls who does the DDNS updates. Valid values are:\n" +
			"  * _client_: DHCP server updates DNS if requested by client.\n" +
			"  * _server_: DHCP server always updates DNS, overriding an update request from the client, unless the client requests no updates.\n" +
			"  * _ignore_: DHCP server always updates DNS, even if the client says not to.\n" +
			"  * _over_client_update_: Same as _server_. DHCP server always updates DNS, overriding an update request from the client, unless the client requests no updates.\n" +
			"  * _over_no_update_: DHCP server updates DNS even if the client requests that no updates be done. If the client requests to do the update, DHCP server allows it.\n" +
			"  Defaults to _client_.\n",
	},
	"ddns_conflict_resolution_mode": schema.StringAttribute{
		Optional: true,
		Computed: true,
		Default:  stringdefault.StaticString("check_with_dhcid"),
		MarkdownDescription: "The mode used for resolving conflicts while performing DDNS updates. Valid values are:\n\n" +
			"  * _check_with_dhcid_: It includes adding a DHCID record and checking that record via conflict detection as per RFC 4703.\n" +
			"  * _no_check_with_dhcid_: This will ignore conflict detection but add a DHCID record when creating/updating an entry.\n" +
			"  * _check_exists_with_dhcid_: This will check if there is an existing DHCID record but does not verify the value of the record matches the update. This will also update the DHCID record for the entry.\n" +
			"  * _no_check_without_dhcid_: This ignores conflict detection and will not add a DHCID record when creating/updating a DDNS entry.\n" +
			"  Defaults to _check_with_dhcid_.",
		Validators: []validator.String{
			stringvalidator.OneOf("check_with_dhcid", "no_check_with_dhcid", "check_exists_with_dhcid"),
		},
	},
	"ddns_domain": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString(""),
		MarkdownDescription: "The domain suffix for DDNS updates. FQDN, may be empty.  Defaults to empty.",
	},
	"ddns_generate_name": schema.BoolAttribute{
		Optional:            true,
		Computed:            true,
		Default:             booldefault.StaticBool(false),
		MarkdownDescription: "Indicates if DDNS needs to generate a hostname when not supplied by the client.  Defaults to _false_.",
	},
	"ddns_generated_prefix": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString("myhost"),
		MarkdownDescription: "The prefix used in the generation of an FQDN.  When generating a name, DHCP server will construct the name in the format: [ddns-generated-prefix]-[address-text].[ddns-qualifying-suffix]. where address-text is simply the lease IP address converted to a hyphenated string.  Defaults to \"myhost\".",
	},
	"ddns_send_updates": schema.BoolAttribute{
		Optional:            true,
		Computed:            true,
		Default:             booldefault.StaticBool(true),
		MarkdownDescription: "Determines if DDNS updates are enabled at the subnet level. Defaults to _true_.",
	},
	"ddns_ttl_percent": schema.Float64Attribute{
		Optional:            true,
		MarkdownDescription: "DDNS TTL value - to be calculated as a simple percentage of the lease's lifetime, using the parameter's value as the percentage. It is specified as a percentage (e.g. 25, 75). Defaults to unspecified.",
	},
	"ddns_update_on_renew": schema.BoolAttribute{
		Optional:            true,
		Computed:            true,
		Default:             booldefault.StaticBool(false),
		MarkdownDescription: "Instructs the DHCP server to always update the DNS information when a lease is renewed even if its DNS information has not changed.  Defaults to _false_.",
	},
	"ddns_use_conflict_resolution": schema.BoolAttribute{
		Optional:            true,
		Computed:            true,
		Default:             booldefault.StaticBool(true),
		MarkdownDescription: "When true, DHCP server will apply conflict resolution, as described in RFC 4703, when attempting to fulfill the update request.  When false, DHCP server will simply attempt to update the DNS entries per the request, regardless of whether or not they conflict with existing entries owned by other DHCP4 clients.  Defaults to _true_.",
	},
	"delegation": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The ID of the delegation associated with the subnet.",
	},
	"dhcp_config": schema.SingleNestedAttribute{
		Attributes: IpamsvcDHCPConfigResourceSchemaAttributes(true),
		Optional:   true,
		Computed:   true,
		Default: objectdefault.StaticValue(types.ObjectValueMust(IpamsvcDHCPConfigAttrTypes, map[string]attr.Value{
			"abandoned_reclaim_time":    types.Int64Null(),
			"abandoned_reclaim_time_v6": types.Int64Null(),
			"allow_unknown":             types.BoolValue(true),
			"allow_unknown_v6":          types.BoolValue(true),
			"echo_client_id":            types.BoolNull(),
			"filters":                   types.ListNull(types.StringType),
			"filters_v6":                types.ListNull(types.StringType),
			"filters_large_selection":   types.ListNull(types.StringType),
			"ignore_client_uid":         types.BoolValue(false),
			"ignore_list":               types.ListNull(types.ObjectType{AttrTypes: IpamsvcIgnoreItemAttrTypes}),
			"lease_time":                types.Int64Value(3600),
			"lease_time_v6":             types.Int64Value(3600),
		})),
	},
	"dhcp_host": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString(""),
		MarkdownDescription: "The resource identifier.",
	},
	"dhcp_options": schema.ListNestedAttribute{
		NestedObject: schema.NestedAttributeObject{
			Attributes: IpamsvcOptionItemResourceSchemaAttributes,
		},
		Optional:            true,
		MarkdownDescription: "The DHCP options of the subnet. This can either be a specific option or a group of options.",
	},
	"dhcp_utilization": schema.SingleNestedAttribute{
		Attributes:          IpamsvcDHCPUtilizationResourceSchemaAttributes,
		Computed:            true,
		MarkdownDescription: "The utilization of IP addresses within the DHCP ranges of the subnet.",
	},
	"disable_dhcp": schema.BoolAttribute{
		Optional:            true,
		Computed:            true,
		Default:             booldefault.StaticBool(false),
		MarkdownDescription: "Optional. _true_ to disable object. A disabled object is effectively non-existent when generating configuration.  Defaults to _false_.",
	},
	"discovery_attrs": schema.MapAttribute{
		ElementType:         types.StringType,
		Computed:            true,
		MarkdownDescription: "The discovery attributes for this subnet in JSON format.",
	},
	"discovery_metadata": schema.MapAttribute{
		ElementType:         types.StringType,
		Computed:            true,
		MarkdownDescription: "The discovery metadata for this subnet in JSON format.",
	},
	"external_keys": schema.MapAttribute{
		ElementType:         types.StringType,
		Optional:            true,
		MarkdownDescription: "The external keys (source key) for this subnet in JSON format.",
	},
	"federated_realms": schema.ListAttribute{
		CustomType:          internaltypes.UnorderedListOfStringType,
		ElementType:         types.StringType,
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "Federated realms to which this subnet belongs.",
	},
	"header_option_filename": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString(""),
		MarkdownDescription: "The configuration for header option filename field.",
	},
	"header_option_server_address": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString(""),
		MarkdownDescription: "The configuration for header option server address field.",
	},
	"header_option_server_name": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString(""),
		MarkdownDescription: "The configuration for header option server name field.",
	},
	"hostname_rewrite_char": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString("-"),
		MarkdownDescription: "The character to replace non-matching characters with, when hostname rewrite is enabled.  Any single ASCII character or no character if the invalid characters should be removed without replacement.  Defaults to \"-\".",
	},
	"hostname_rewrite_enabled": schema.BoolAttribute{
		Optional:            true,
		Computed:            true,
		Default:             booldefault.StaticBool(false),
		MarkdownDescription: "Indicates if client supplied hostnames will be rewritten prior to DDNS update by replacing every character that does not match _hostname_rewrite_regex_ by _hostname_rewrite_char_.  Defaults to _false_.",
	},
	"hostname_rewrite_regex": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString("[^a-zA-Z0-9_.]"),
		MarkdownDescription: "The regex bracket expression to match valid characters.  Must begin with \"[\" and end with \"]\" and be a compilable POSIX regex.  Defaults to \"[^a-zA-Z0-9_.]\".",
	},
	"id": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The resource identifier.",
		PlanModifiers: []planmodifier.String{
			stringplanmodifier.UseStateForUnknown(),
		},
	},
	"inheritance_assigned_hosts": schema.ListNestedAttribute{
		NestedObject: schema.NestedAttributeObject{
			Attributes: InheritanceAssignedHostResourceSchemaAttributes,
		},
		Computed:            true,
		MarkdownDescription: "The list of the inheritance assigned hosts of the object.",
	},
	"inheritance_parent": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The resource identifier.",
	},
	"inheritance_sources": schema.SingleNestedAttribute{
		Attributes: IpamsvcDHCPInheritanceResourceSchemaAttributes,
		Optional:   true,
		Computed:   true,
		PlanModifiers: []planmodifier.Object{
			objectplanmodifier.UseStateForUnknown(),
		},
	},
	"name": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		Default:             stringdefault.StaticString(""),
		MarkdownDescription: "The name of the subnet. May contain 1 to 256 characters. Can include UTF-8.",
	},
	"parent": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The resource identifier.",
	},
	"protocol": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The type of protocol of the subnet (_ip4_ or _ip6_).",
	},
	"rebind_time": schema.Int64Attribute{
		Optional:            true,
		MarkdownDescription: "The lease rebind time (T2) in seconds.",
	},
	"renew_time": schema.Int64Attribute{
		Optional:            true,
		MarkdownDescription: "The lease renew time (T1) in seconds.",
	},
	"space": schema.StringAttribute{
		Required:            true,
		MarkdownDescription: "The resource identifier.",
		PlanModifiers: []planmodifier.String{
			stringplanmodifier.RequiresReplaceIfConfigured(),
		},
	},
	"tags": schema.MapAttribute{
		ElementType:         types.StringType,
		Optional:            true,
		Computed:            true,
		Default:             mapdefault.StaticValue(types.MapNull(types.StringType)),
		MarkdownDescription: "The tags for the subnet in JSON format.",
	},
	"tags_all": schema.MapAttribute{
		ElementType:         types.StringType,
		Computed:            true,
		MarkdownDescription: "The tags for the subnet in JSON format including default tags.",
	},
	"threshold": schema.SingleNestedAttribute{
		Attributes:          IpamsvcUtilizationThresholdResourceSchemaAttributes,
		Computed:            true,
		MarkdownDescription: "The IP address utilization threshold settings for the subnet.",
	},
	"updated_at": schema.StringAttribute{
		CustomType:          timetypes.RFC3339Type{},
		Computed:            true,
		MarkdownDescription: "Time when the object has been updated. Equals to _created_at_ if not updated after creation.",
	},
	"usage": schema.ListAttribute{
		ElementType: types.StringType,
		Computed:    true,
		MarkdownDescription: "The usage is a combination of indicators, each tracking a specific associated use. Listed below are usage indicators with their meaning:\n\n" +
			"  | usage indicator        | description                                                                                   |\n" +
			"  |------------------------|-----------------------------------------------------------------------------------------------|\n" +
			"  | _IPAM_                 | Subnet is managed in BloxOne DDI.                                                             |\n" +
			"  | _DHCP_                 | Subnet is served by a DHCP Host.                                                              |\n" +
			"  | _DISCOVERED_           | Subnet is discovered by some network discovery probe like Network Insight or NetMRI in NIOS.  |\n" +
			"  <br>",
	},
	"utilization": schema.SingleNestedAttribute{
		Attributes:          IpamsvcUtilizationResourceSchemaAttributes,
		Computed:            true,
		MarkdownDescription: "The IPV4 address utilization statistics of the subnet.",
	},
	"utilization_v6": schema.SingleNestedAttribute{
		Attributes:          IpamsvcUtilizationV6ResourceSchemaAttributes,
		Computed:            true,
		MarkdownDescription: "The utilization of IPV6 addresses in the subnet.",
	},
	"next_available_id": schema.StringAttribute{
		Optional:            true,
		MarkdownDescription: "The resource identifier for the address block where the next available subnet should be generated",
		Validators: []validator.String{
			stringvalidator.ExactlyOneOf(path.MatchRoot("address"), path.MatchRoot("next_available_id")),
			stringvalidator.RegexMatches(regexp.MustCompile(`^ipam/address_block/[0-9a-f-].*$`), "Should be the resource identifier of an address block."),
		},
		PlanModifiers: []planmodifier.String{
			stringplanmodifier.RequiresReplaceIfConfigured(),
			stringplanmodifier.UseStateForUnknown(),
		},
	},
}
View Source
var IpamsvcTSIGKeyAttrTypes = map[string]attr.Type{
	"algorithm":     types.StringType,
	"comment":       types.StringType,
	"key":           types.StringType,
	"name":          types.StringType,
	"protocol_name": types.StringType,
	"secret":        types.StringType,
}
View Source
var IpamsvcTSIGKeyResourceSchemaAttributes = map[string]schema.Attribute{
	"algorithm": schema.StringAttribute{
		Optional: true,
		MarkdownDescription: "TSIG key algorithm.\n\n" +
			"  Valid values are:\n" +
			"  * _hmac_sha1_\n" +
			"  * _hmac_sha224_\n" +
			"  * _hmac_sha256_\n" +
			"  * _hmac_sha384_\n" +
			"  * _hmac_sha512_\n",
	},
	"comment": schema.StringAttribute{
		Optional:            true,
		MarkdownDescription: `The description for the TSIG key. May contain 0 to 1024 characters. Can include UTF-8.`,
	},
	"key": schema.StringAttribute{
		Required:            true,
		MarkdownDescription: `The resource identifier.`,
	},
	"name": schema.StringAttribute{
		Optional:            true,
		MarkdownDescription: `The TSIG key name, FQDN.`,
	},
	"protocol_name": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The TSIG key name in punycode.`,
	},
	"secret": schema.StringAttribute{
		Optional:            true,
		MarkdownDescription: `The TSIG key secret, base64 string.`,
	},
}
View Source
var IpamsvcUtilizationAttrTypes = map[string]attr.Type{
	"abandon_utilization": types.Int64Type,
	"abandoned":           types.StringType,
	"dynamic":             types.StringType,
	"free":                types.StringType,
	"static":              types.StringType,
	"total":               types.StringType,
	"used":                types.StringType,
	"utilization":         types.Int64Type,
}
View Source
var IpamsvcUtilizationResourceSchemaAttributes = map[string]schema.Attribute{
	"abandon_utilization": schema.Int64Attribute{
		Computed:            true,
		MarkdownDescription: `The percentage of abandoned IP addresses relative to the total IP addresses available in the scope of the object.`,
	},
	"abandoned": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The number of IP addresses in the scope of the object which are in the abandoned state (issued by a DHCP server and then declined by the client).`,
	},
	"dynamic": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The number of IP addresses handed out by DHCP in the scope of the object. This includes all leased addresses, fixed addresses that are defined but not currently leased and abandoned leases.`,
	},
	"free": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The number of IP addresses available in the scope of the object.`,
	},
	"static": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The number of defined IP addresses such as reservations or DNS records. It can be computed as _static_ = _used_ - _dynamic_.`,
	},
	"total": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The total number of IP addresses available in the scope of the object.`,
	},
	"used": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The number of IP addresses used in the scope of the object.`,
	},
	"utilization": schema.Int64Attribute{
		Computed:            true,
		MarkdownDescription: `The percentage of used IP addresses relative to the total IP addresses available in the scope of the object.`,
	},
}
View Source
var IpamsvcUtilizationThresholdAttrTypes = map[string]attr.Type{
	"enabled": types.BoolType,
	"high":    types.Int64Type,
	"low":     types.Int64Type,
}
View Source
var IpamsvcUtilizationThresholdResourceSchemaAttributes = map[string]schema.Attribute{
	"enabled": schema.BoolAttribute{
		Required:            true,
		MarkdownDescription: `Indicates whether the utilization threshold for IP addresses is enabled or not.`,
	},
	"high": schema.Int64Attribute{
		Required:            true,
		MarkdownDescription: `The high threshold value for the percentage of used IP addresses relative to the total IP addresses available in the scope of the object. Thresholds are inclusive in the comparison test.`,
	},
	"low": schema.Int64Attribute{
		Required:            true,
		MarkdownDescription: `The low threshold value for the percentage of used IP addresses relative to the total IP addresses available in the scope of the object. Thresholds are inclusive in the comparison test.`,
	},
}
View Source
var IpamsvcUtilizationV6AttrTypes = map[string]attr.Type{
	"abandoned": types.StringType,
	"dynamic":   types.StringType,
	"static":    types.StringType,
	"total":     types.StringType,
	"used":      types.StringType,
}
View Source
var IpamsvcUtilizationV6ResourceSchemaAttributes = map[string]schema.Attribute{
	"abandoned": schema.StringAttribute{
		Optional: true,
	},
	"dynamic": schema.StringAttribute{
		Optional: true,
	},
	"static": schema.StringAttribute{
		Optional: true,
	},
	"total": schema.StringAttribute{
		Optional: true,
	},
	"used": schema.StringAttribute{
		Optional: true,
	},
}

Functions

func DhcpHostDataSourceSchemaAttributes added in v1.3.0

func DhcpHostDataSourceSchemaAttributes(diags *diag.Diagnostics) map[string]schema.Attribute

func ExpandInheritanceAssignedHost

func ExpandInheritanceAssignedHost(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.InheritanceAssignedHost

func ExpandInheritanceInheritedBool

func ExpandInheritanceInheritedBool(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.InheritanceInheritedBool

func ExpandInheritanceInheritedFloat

func ExpandInheritanceInheritedFloat(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.InheritanceInheritedFloat

func ExpandInheritanceInheritedIdentifier

func ExpandInheritanceInheritedIdentifier(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.InheritanceInheritedIdentifier

func ExpandInheritanceInheritedString

func ExpandInheritanceInheritedString(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.InheritanceInheritedString

func ExpandInheritanceInheritedUInt32

func ExpandInheritanceInheritedUInt32(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.InheritanceInheritedUInt32

func ExpandInheritedDHCPConfigFilterList

func ExpandInheritedDHCPConfigFilterList(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.InheritedDHCPConfigFilterList

func ExpandIpamsvcASMConfig

func ExpandIpamsvcASMConfig(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.ASMConfig

func ExpandIpamsvcAccessFilter

func ExpandIpamsvcAccessFilter(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.AccessFilter

func ExpandIpamsvcAddressBlock

func ExpandIpamsvcAddressBlock(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.AddressBlock

func ExpandIpamsvcAsmEnableBlock

func ExpandIpamsvcAsmEnableBlock(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.AsmEnableBlock

func ExpandIpamsvcAsmGrowthBlock

func ExpandIpamsvcAsmGrowthBlock(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.AsmGrowthBlock

func ExpandIpamsvcDDNSBlock

func ExpandIpamsvcDDNSBlock(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.DDNSBlock

func ExpandIpamsvcDDNSHostnameBlock

func ExpandIpamsvcDDNSHostnameBlock(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.DDNSHostnameBlock

func ExpandIpamsvcDDNSUpdateBlock

func ExpandIpamsvcDDNSUpdateBlock(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.DDNSUpdateBlock

func ExpandIpamsvcDDNSZone

func ExpandIpamsvcDDNSZone(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.DDNSZone

func ExpandIpamsvcDHCPConfig

func ExpandIpamsvcDHCPConfig(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.DHCPConfig

func ExpandIpamsvcDHCPInfo

func ExpandIpamsvcDHCPInfo(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.DHCPInfo

func ExpandIpamsvcDHCPInheritance

func ExpandIpamsvcDHCPInheritance(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.DHCPInheritance

func ExpandIpamsvcDHCPOptionsInheritance

func ExpandIpamsvcDHCPOptionsInheritance(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.DHCPOptionsInheritance

func ExpandIpamsvcDHCPUtilization

func ExpandIpamsvcDHCPUtilization(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.DHCPUtilization

func ExpandIpamsvcExclusionRange

func ExpandIpamsvcExclusionRange(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.ExclusionRange

func ExpandIpamsvcFixedAddress

func ExpandIpamsvcFixedAddress(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.FixedAddress

func ExpandIpamsvcFixedAddressInheritance

func ExpandIpamsvcFixedAddressInheritance(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.FixedAddressInheritance

func ExpandIpamsvcHAGroup

func ExpandIpamsvcHAGroup(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.HAGroup

func ExpandIpamsvcHAGroupHost

func ExpandIpamsvcHAGroupHost(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.HAGroupHost

func ExpandIpamsvcHostAddress

func ExpandIpamsvcHostAddress(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.HostAddress

func ExpandIpamsvcHostAssociatedServer

func ExpandIpamsvcHostAssociatedServer(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.HostAssociatedServer

func ExpandIpamsvcHostName

func ExpandIpamsvcHostName(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.HostName

func ExpandIpamsvcHostnameRewriteBlock

func ExpandIpamsvcHostnameRewriteBlock(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.HostnameRewriteBlock

func ExpandIpamsvcIPSpace

func ExpandIpamsvcIPSpace(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.IPSpace

func ExpandIpamsvcIPSpaceInheritance

func ExpandIpamsvcIPSpaceInheritance(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.IPSpaceInheritance

func ExpandIpamsvcIgnoreItem

func ExpandIpamsvcIgnoreItem(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.IgnoreItem

func ExpandIpamsvcInheritedASMConfig

func ExpandIpamsvcInheritedASMConfig(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.InheritedASMConfig

func ExpandIpamsvcInheritedAsmEnableBlock

func ExpandIpamsvcInheritedAsmEnableBlock(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.InheritedAsmEnableBlock

func ExpandIpamsvcInheritedAsmGrowthBlock

func ExpandIpamsvcInheritedAsmGrowthBlock(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.InheritedAsmGrowthBlock

func ExpandIpamsvcInheritedDDNSBlock

func ExpandIpamsvcInheritedDDNSBlock(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.InheritedDDNSBlock

func ExpandIpamsvcInheritedDDNSHostnameBlock

func ExpandIpamsvcInheritedDDNSHostnameBlock(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.InheritedDDNSHostnameBlock

func ExpandIpamsvcInheritedDDNSUpdateBlock

func ExpandIpamsvcInheritedDDNSUpdateBlock(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.InheritedDDNSUpdateBlock

func ExpandIpamsvcInheritedDHCPConfig

func ExpandIpamsvcInheritedDHCPConfig(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.InheritedDHCPConfig

func ExpandIpamsvcInheritedDHCPOption

func ExpandIpamsvcInheritedDHCPOption(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.InheritedDHCPOption

func ExpandIpamsvcInheritedDHCPOptionItem

func ExpandIpamsvcInheritedDHCPOptionItem(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.InheritedDHCPOptionItem

func ExpandIpamsvcInheritedDHCPOptionList

func ExpandIpamsvcInheritedDHCPOptionList(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.InheritedDHCPOptionList

func ExpandIpamsvcInheritedHostnameRewriteBlock

func ExpandIpamsvcInheritedHostnameRewriteBlock(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.InheritedHostnameRewriteBlock

func ExpandIpamsvcIpamHost

func ExpandIpamsvcIpamHost(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.IpamHost

func ExpandIpamsvcKerberosKey

func ExpandIpamsvcKerberosKey(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.KerberosKey

func ExpandIpamsvcName

func ExpandIpamsvcName(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.Name

func ExpandIpamsvcNameserver

func ExpandIpamsvcNameserver(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.Nameserver

func ExpandIpamsvcOptionCode

func ExpandIpamsvcOptionCode(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.OptionCode

func ExpandIpamsvcOptionItem

func ExpandIpamsvcOptionItem(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.OptionItem

func ExpandIpamsvcRange

func ExpandIpamsvcRange(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.Range

func ExpandIpamsvcServerInheritance

func ExpandIpamsvcServerInheritance(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.ServerInheritance

func ExpandIpamsvcTSIGKey

func ExpandIpamsvcTSIGKey(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.TSIGKey

func ExpandIpamsvcUtilization

func ExpandIpamsvcUtilization(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.Utilization

func ExpandIpamsvcUtilizationThreshold

func ExpandIpamsvcUtilizationThreshold(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.UtilizationThreshold

func ExpandIpamsvcUtilizationV6

func ExpandIpamsvcUtilizationV6(ctx context.Context, o types.Object, diags *diag.Diagnostics) *ipam.UtilizationV6

func FlattenDhcpHostDataSource added in v1.3.0

func FlattenDhcpHostDataSource(ctx context.Context, from *ipam.Host, diags *diag.Diagnostics) types.Object

func FlattenInheritanceAssignedHost

func FlattenInheritanceAssignedHost(ctx context.Context, from *ipam.InheritanceAssignedHost, diags *diag.Diagnostics) types.Object

func FlattenInheritanceInheritedBool

func FlattenInheritanceInheritedBool(ctx context.Context, from *ipam.InheritanceInheritedBool, diags *diag.Diagnostics) types.Object

func FlattenInheritanceInheritedFloat

func FlattenInheritanceInheritedFloat(ctx context.Context, from *ipam.InheritanceInheritedFloat, diags *diag.Diagnostics) types.Object

func FlattenInheritanceInheritedIdentifier

func FlattenInheritanceInheritedIdentifier(ctx context.Context, from *ipam.InheritanceInheritedIdentifier, diags *diag.Diagnostics) types.Object

func FlattenInheritanceInheritedString

func FlattenInheritanceInheritedString(ctx context.Context, from *ipam.InheritanceInheritedString, diags *diag.Diagnostics) types.Object

func FlattenInheritanceInheritedUInt32

func FlattenInheritanceInheritedUInt32(ctx context.Context, from *ipam.InheritanceInheritedUInt32, diags *diag.Diagnostics) types.Object

func FlattenInheritedDHCPConfigFilterList

func FlattenInheritedDHCPConfigFilterList(ctx context.Context, from *ipam.InheritedDHCPConfigFilterList, diags *diag.Diagnostics) types.Object

func FlattenInheritedDHCPConfigIgnoreItemList

func FlattenInheritedDHCPConfigIgnoreItemList(ctx context.Context, from *ipam.InheritedDHCPConfigIgnoreItemList, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcASMConfig

func FlattenIpamsvcASMConfig(ctx context.Context, from *ipam.ASMConfig, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcAccessFilter

func FlattenIpamsvcAccessFilter(ctx context.Context, from *ipam.AccessFilter, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcAddressBlockDataSource added in v1.3.0

func FlattenIpamsvcAddressBlockDataSource(ctx context.Context, from *ipam.AddressBlock, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcAddressDataSource added in v1.3.0

func FlattenIpamsvcAddressDataSource(ctx context.Context, from *ipam.Address, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcAsmEnableBlock

func FlattenIpamsvcAsmEnableBlock(ctx context.Context, from *ipam.AsmEnableBlock, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcAsmGrowthBlock

func FlattenIpamsvcAsmGrowthBlock(ctx context.Context, from *ipam.AsmGrowthBlock, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcDDNSBlock

func FlattenIpamsvcDDNSBlock(ctx context.Context, from *ipam.DDNSBlock, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcDDNSHostnameBlock

func FlattenIpamsvcDDNSHostnameBlock(ctx context.Context, from *ipam.DDNSHostnameBlock, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcDDNSUpdateBlock

func FlattenIpamsvcDDNSUpdateBlock(ctx context.Context, from *ipam.DDNSUpdateBlock, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcDDNSZone

func FlattenIpamsvcDDNSZone(ctx context.Context, from *ipam.DDNSZone, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcDHCPConfig

func FlattenIpamsvcDHCPConfig(ctx context.Context, from *ipam.DHCPConfig, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcDHCPConfigForSubnetOrAddressBlock added in v1.1.0

func FlattenIpamsvcDHCPConfigForSubnetOrAddressBlock(ctx context.Context, from *ipam.DHCPConfig, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcDHCPInfo

func FlattenIpamsvcDHCPInfo(ctx context.Context, from *ipam.DHCPInfo, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcDHCPInheritance

func FlattenIpamsvcDHCPInheritance(ctx context.Context, from *ipam.DHCPInheritance, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcDHCPOptionsInheritance

func FlattenIpamsvcDHCPOptionsInheritance(ctx context.Context, from *ipam.DHCPOptionsInheritance, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcDHCPUtilization

func FlattenIpamsvcDHCPUtilization(ctx context.Context, from *ipam.DHCPUtilization, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcExclusionRange

func FlattenIpamsvcExclusionRange(ctx context.Context, from *ipam.ExclusionRange, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcFixedAddressDataSource added in v1.3.0

func FlattenIpamsvcFixedAddressDataSource(ctx context.Context, from *ipam.FixedAddress, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcFixedAddressInheritance

func FlattenIpamsvcFixedAddressInheritance(ctx context.Context, from *ipam.FixedAddressInheritance, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcHAGroupDataSource added in v1.3.0

func FlattenIpamsvcHAGroupDataSource(ctx context.Context, from *ipam.HAGroup, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcHAGroupHeartbeats

func FlattenIpamsvcHAGroupHeartbeats(ctx context.Context, from *ipam.HAGroupHeartbeats, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcHAGroupHost

func FlattenIpamsvcHAGroupHost(ctx context.Context, from *ipam.HAGroupHost, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcHostAddress

func FlattenIpamsvcHostAddress(ctx context.Context, from *ipam.HostAddress, to *IpamsvcHostAddressModel, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcHostAssociatedServer

func FlattenIpamsvcHostAssociatedServer(ctx context.Context, from *ipam.HostAssociatedServer, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcHostName

func FlattenIpamsvcHostName(ctx context.Context, from *ipam.HostName, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcHostnameRewriteBlock

func FlattenIpamsvcHostnameRewriteBlock(ctx context.Context, from *ipam.HostnameRewriteBlock, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcIPSpaceDataSource added in v1.3.0

func FlattenIpamsvcIPSpaceDataSource(ctx context.Context, from *ipam.IPSpace, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcIPSpaceInheritance

func FlattenIpamsvcIPSpaceInheritance(ctx context.Context, from *ipam.IPSpaceInheritance, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcIgnoreItem

func FlattenIpamsvcIgnoreItem(ctx context.Context, from *ipam.IgnoreItem, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcInheritedASMConfig

func FlattenIpamsvcInheritedASMConfig(ctx context.Context, from *ipam.InheritedASMConfig, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcInheritedAsmEnableBlock

func FlattenIpamsvcInheritedAsmEnableBlock(ctx context.Context, from *ipam.InheritedAsmEnableBlock, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcInheritedAsmGrowthBlock

func FlattenIpamsvcInheritedAsmGrowthBlock(ctx context.Context, from *ipam.InheritedAsmGrowthBlock, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcInheritedDDNSBlock

func FlattenIpamsvcInheritedDDNSBlock(ctx context.Context, from *ipam.InheritedDDNSBlock, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcInheritedDDNSHostnameBlock

func FlattenIpamsvcInheritedDDNSHostnameBlock(ctx context.Context, from *ipam.InheritedDDNSHostnameBlock, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcInheritedDDNSUpdateBlock

func FlattenIpamsvcInheritedDDNSUpdateBlock(ctx context.Context, from *ipam.InheritedDDNSUpdateBlock, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcInheritedDHCPConfig

func FlattenIpamsvcInheritedDHCPConfig(ctx context.Context, from *ipam.InheritedDHCPConfig, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcInheritedDHCPOption

func FlattenIpamsvcInheritedDHCPOption(ctx context.Context, from *ipam.InheritedDHCPOption, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcInheritedDHCPOptionItem

func FlattenIpamsvcInheritedDHCPOptionItem(ctx context.Context, from *ipam.InheritedDHCPOptionItem, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcInheritedDHCPOptionList

func FlattenIpamsvcInheritedDHCPOptionList(ctx context.Context, from *ipam.InheritedDHCPOptionList, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcInheritedHostnameRewriteBlock

func FlattenIpamsvcInheritedHostnameRewriteBlock(ctx context.Context, from *ipam.InheritedHostnameRewriteBlock, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcIpamHostDataSource added in v1.3.0

func FlattenIpamsvcIpamHostDataSource(ctx context.Context, from *ipam.IpamHost, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcKerberosKey

func FlattenIpamsvcKerberosKey(ctx context.Context, from *ipam.KerberosKey, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcName

func FlattenIpamsvcName(ctx context.Context, from *ipam.Name, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcNameserver

func FlattenIpamsvcNameserver(ctx context.Context, from *ipam.Nameserver, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcOptionCodeDataSource added in v1.3.0

func FlattenIpamsvcOptionCodeDataSource(ctx context.Context, from *ipam.OptionCode, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcOptionGroupDataSource added in v1.3.0

func FlattenIpamsvcOptionGroupDataSource(ctx context.Context, from *ipam.OptionGroup, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcOptionItem

func FlattenIpamsvcOptionItem(ctx context.Context, from *ipam.OptionItem, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcOptionSpaceDataSource added in v1.3.0

func FlattenIpamsvcOptionSpaceDataSource(ctx context.Context, from *ipam.OptionSpace, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcRangeDataSource added in v1.3.0

func FlattenIpamsvcRangeDataSource(ctx context.Context, from *ipam.Range, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcServerDataSource added in v1.3.0

func FlattenIpamsvcServerDataSource(ctx context.Context, from *ipam.Server, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcServerInheritance

func FlattenIpamsvcServerInheritance(ctx context.Context, from *ipam.ServerInheritance, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcSubnetDataSource added in v1.3.0

func FlattenIpamsvcSubnetDataSource(ctx context.Context, from *ipam.Subnet, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcTSIGKey

func FlattenIpamsvcTSIGKey(ctx context.Context, from *ipam.TSIGKey, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcUtilization

func FlattenIpamsvcUtilization(ctx context.Context, from *ipam.Utilization, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcUtilizationThreshold

func FlattenIpamsvcUtilizationThreshold(ctx context.Context, from *ipam.UtilizationThreshold, diags *diag.Diagnostics) types.Object

func FlattenIpamsvcUtilizationV6

func FlattenIpamsvcUtilizationV6(ctx context.Context, from *ipam.UtilizationV6, diags *diag.Diagnostics) types.Object

func IpamsvcDHCPConfigResourceSchemaAttributes

func IpamsvcDHCPConfigResourceSchemaAttributes(forSubnetOrAddressBlock bool) map[string]schema.Attribute

func NewAddressBlockDataSource

func NewAddressBlockDataSource() datasource.DataSource

func NewAddressBlockResource

func NewAddressBlockResource() resource.Resource

func NewAddressDataSource

func NewAddressDataSource() datasource.DataSource

func NewAddressResource

func NewAddressResource() resource.Resource

func NewDhcpHostDataSource

func NewDhcpHostDataSource() datasource.DataSource

func NewDhcpHostResource added in v1.3.0

func NewDhcpHostResource() resource.Resource

func NewFixedAddressDataSource

func NewFixedAddressDataSource() datasource.DataSource

func NewFixedAddressResource

func NewFixedAddressResource() resource.Resource

func NewHaGroupDataSource

func NewHaGroupDataSource() datasource.DataSource

func NewHaGroupResource

func NewHaGroupResource() resource.Resource

func NewIpSpaceDataSource

func NewIpSpaceDataSource() datasource.DataSource

func NewIpSpaceResource

func NewIpSpaceResource() resource.Resource

func NewIpamHostDataSource

func NewIpamHostDataSource() datasource.DataSource

func NewIpamHostResource

func NewIpamHostResource() resource.Resource

func NewIpamNextAvailableIPDataSource

func NewIpamNextAvailableIPDataSource() datasource.DataSource

func NewNextAvailableAddressBlockDataSource added in v1.0.0

func NewNextAvailableAddressBlockDataSource() datasource.DataSource

func NewNextAvailableSubnetDataSource

func NewNextAvailableSubnetDataSource() datasource.DataSource

func NewOptionCodeDataSource

func NewOptionCodeDataSource() datasource.DataSource

func NewOptionCodeResource

func NewOptionCodeResource() resource.Resource

func NewOptionGroupDataSource

func NewOptionGroupDataSource() datasource.DataSource

func NewOptionGroupResource

func NewOptionGroupResource() resource.Resource

func NewOptionSpaceDataSource

func NewOptionSpaceDataSource() datasource.DataSource

func NewOptionSpaceResource

func NewOptionSpaceResource() resource.Resource

func NewRangeDataSource

func NewRangeDataSource() datasource.DataSource

func NewRangeResource

func NewRangeResource() resource.Resource

func NewServerDataSource

func NewServerDataSource() datasource.DataSource

func NewServerResource

func NewServerResource() resource.Resource

func NewSubnetDataSource

func NewSubnetDataSource() datasource.DataSource

func NewSubnetResource

func NewSubnetResource() resource.Resource

Types

type AddressBlockDataSource

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

AddressBlockDataSource defines the data source implementation.

func (*AddressBlockDataSource) Configure

func (*AddressBlockDataSource) Metadata

func (*AddressBlockDataSource) Read

func (*AddressBlockDataSource) Schema

type AddressBlockResource

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

AddressBlockResource defines the resource implementation.

func (*AddressBlockResource) Configure

func (*AddressBlockResource) Create

func (*AddressBlockResource) Delete

func (*AddressBlockResource) ImportState

func (*AddressBlockResource) Metadata

func (*AddressBlockResource) Read

func (*AddressBlockResource) Schema

func (*AddressBlockResource) Update

type AddressDataSource

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

AddressDataSource defines the data source implementation.

func (*AddressDataSource) Configure

func (*AddressDataSource) Metadata

func (*AddressDataSource) Read

func (*AddressDataSource) Schema

type AddressResource

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

AddressResource defines the resource implementation.

func (*AddressResource) Configure

func (*AddressResource) Create

func (*AddressResource) Delete

func (*AddressResource) ImportState

func (*AddressResource) Metadata

func (*AddressResource) Read

func (*AddressResource) Schema

func (*AddressResource) Update

type DhcpHostDataSource

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

DhcpHostDataSource defines the data source implementation.

func (*DhcpHostDataSource) Configure

func (*DhcpHostDataSource) Metadata

func (*DhcpHostDataSource) Read

func (*DhcpHostDataSource) Schema

type DhcpHostModel added in v1.3.0

type DhcpHostModel struct {
	Address          types.String `tfsdk:"address"`
	AnycastAddresses types.List   `tfsdk:"anycast_addresses"`
	AssociatedServer types.Object `tfsdk:"associated_server"`
	Comment          types.String `tfsdk:"comment"`
	CurrentVersion   types.String `tfsdk:"current_version"`
	Id               types.String `tfsdk:"id"`
	IpSpace          types.String `tfsdk:"ip_space"`
	Name             types.String `tfsdk:"name"`
	Ophid            types.String `tfsdk:"ophid"`
	ProviderId       types.String `tfsdk:"provider_id"`
	Server           types.String `tfsdk:"server"`
	Tags             types.Map    `tfsdk:"tags"`
	TagsAll          types.Map    `tfsdk:"tags_all"`
	Type             types.String `tfsdk:"type"`
}

func (*DhcpHostModel) Expand added in v1.3.0

func (m *DhcpHostModel) Expand(ctx context.Context, diags *diag.Diagnostics) *ipam.Host

func (*DhcpHostModel) Flatten added in v1.3.0

func (m *DhcpHostModel) Flatten(ctx context.Context, from *ipam.Host, diags *diag.Diagnostics)

type DhcpHostModelWithFilter added in v1.3.0

type DhcpHostModelWithFilter struct {
	Filters         types.Map      `tfsdk:"filters"`
	TagFilters      types.Map      `tfsdk:"tag_filters"`
	Results         types.List     `tfsdk:"results"`
	RetryIfNotFound types.Bool     `tfsdk:"retry_if_not_found"`
	Timeouts        timeouts.Value `tfsdk:"timeouts"`
}

func (*DhcpHostModelWithFilter) FlattenResults added in v1.3.0

func (m *DhcpHostModelWithFilter) FlattenResults(ctx context.Context, from []ipam.Host, diags *diag.Diagnostics)

type DhcpHostModelWithRetryAndTimeouts added in v1.3.0

type DhcpHostModelWithRetryAndTimeouts struct {
	Address          types.String   `tfsdk:"address"`
	AnycastAddresses types.List     `tfsdk:"anycast_addresses"`
	AssociatedServer types.Object   `tfsdk:"associated_server"`
	Comment          types.String   `tfsdk:"comment"`
	CurrentVersion   types.String   `tfsdk:"current_version"`
	Id               types.String   `tfsdk:"id"`
	IpSpace          types.String   `tfsdk:"ip_space"`
	Name             types.String   `tfsdk:"name"`
	Ophid            types.String   `tfsdk:"ophid"`
	ProviderId       types.String   `tfsdk:"provider_id"`
	Server           types.String   `tfsdk:"server"`
	Tags             types.Map      `tfsdk:"tags"`
	TagsAll          types.Map      `tfsdk:"tags_all"`
	Type             types.String   `tfsdk:"type"`
	RetryIfNotFound  types.Bool     `tfsdk:"retry_if_not_found"`
	Timeouts         timeouts.Value `tfsdk:"timeouts"`
}

func (*DhcpHostModelWithRetryAndTimeouts) Expand added in v1.3.0

func (*DhcpHostModelWithRetryAndTimeouts) Flatten added in v1.3.0

type DhcpHostResource added in v1.3.0

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

DhcpHostResource defines the resource implementation.

func (*DhcpHostResource) Configure added in v1.3.0

func (*DhcpHostResource) Create added in v1.3.0

func (*DhcpHostResource) Delete added in v1.3.0

func (*DhcpHostResource) ImportState added in v1.3.0

func (*DhcpHostResource) Metadata added in v1.3.0

func (*DhcpHostResource) Read added in v1.3.0

func (*DhcpHostResource) Schema added in v1.3.0

func (*DhcpHostResource) Update added in v1.3.0

type FixedAddressDataSource

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

FixedAddressDataSource defines the data source implementation.

func (*FixedAddressDataSource) Configure

func (*FixedAddressDataSource) Metadata

func (*FixedAddressDataSource) Read

func (*FixedAddressDataSource) Schema

type FixedAddressResource

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

FixedAddressResource defines the resource implementation.

func (*FixedAddressResource) Configure

func (*FixedAddressResource) Create

func (*FixedAddressResource) Delete

func (*FixedAddressResource) ImportState

func (*FixedAddressResource) Metadata

func (*FixedAddressResource) Read

func (*FixedAddressResource) Schema

func (*FixedAddressResource) Update

type HaGroupDataSource

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

HaGroupDataSource defines the data source implementation.

func (*HaGroupDataSource) Configure

func (*HaGroupDataSource) Metadata

func (*HaGroupDataSource) Read

func (*HaGroupDataSource) Schema

type HaGroupResource

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

HaGroupResource defines the resource implementation.

func (*HaGroupResource) Configure

func (*HaGroupResource) Create

func (*HaGroupResource) Delete

func (*HaGroupResource) ImportState

func (*HaGroupResource) Metadata

func (*HaGroupResource) Read

func (*HaGroupResource) Schema

func (*HaGroupResource) Update

type InheritanceAssignedHostModel

type InheritanceAssignedHostModel struct {
	DisplayName types.String `tfsdk:"display_name"`
	Host        types.String `tfsdk:"host"`
	Ophid       types.String `tfsdk:"ophid"`
}

func (*InheritanceAssignedHostModel) Expand

func (*InheritanceAssignedHostModel) Flatten

type InheritanceInheritedBoolModel

type InheritanceInheritedBoolModel struct {
	Action      types.String `tfsdk:"action"`
	DisplayName types.String `tfsdk:"display_name"`
	Source      types.String `tfsdk:"source"`
	Value       types.Bool   `tfsdk:"value"`
}

func (*InheritanceInheritedBoolModel) Expand

func (*InheritanceInheritedBoolModel) Flatten

type InheritanceInheritedFloatModel

type InheritanceInheritedFloatModel struct {
	Action      types.String  `tfsdk:"action"`
	DisplayName types.String  `tfsdk:"display_name"`
	Source      types.String  `tfsdk:"source"`
	Value       types.Float64 `tfsdk:"value"`
}

func (*InheritanceInheritedFloatModel) Expand

func (*InheritanceInheritedFloatModel) Flatten

type InheritanceInheritedIdentifierModel

type InheritanceInheritedIdentifierModel struct {
	Action      types.String `tfsdk:"action"`
	DisplayName types.String `tfsdk:"display_name"`
	Source      types.String `tfsdk:"source"`
	Value       types.String `tfsdk:"value"`
}

func (*InheritanceInheritedIdentifierModel) Expand

func (*InheritanceInheritedIdentifierModel) Flatten

type InheritanceInheritedStringModel

type InheritanceInheritedStringModel struct {
	Action      types.String `tfsdk:"action"`
	DisplayName types.String `tfsdk:"display_name"`
	Source      types.String `tfsdk:"source"`
	Value       types.String `tfsdk:"value"`
}

func (*InheritanceInheritedStringModel) Expand

func (*InheritanceInheritedStringModel) Flatten

type InheritanceInheritedUInt32Model

type InheritanceInheritedUInt32Model struct {
	Action      types.String `tfsdk:"action"`
	DisplayName types.String `tfsdk:"display_name"`
	Source      types.String `tfsdk:"source"`
	Value       types.Int64  `tfsdk:"value"`
}

func (*InheritanceInheritedUInt32Model) Expand

func (*InheritanceInheritedUInt32Model) Flatten

type InheritedDHCPConfigFilterListModel

type InheritedDHCPConfigFilterListModel struct {
	Action      types.String `tfsdk:"action"`
	DisplayName types.String `tfsdk:"display_name"`
	Source      types.String `tfsdk:"source"`
	Value       types.List   `tfsdk:"value"`
}

func (*InheritedDHCPConfigFilterListModel) Expand

func (*InheritedDHCPConfigFilterListModel) Flatten

type InheritedDHCPConfigIgnoreItemListModel

type InheritedDHCPConfigIgnoreItemListModel struct {
	Action      types.String `tfsdk:"action"`
	DisplayName types.String `tfsdk:"display_name"`
	Source      types.String `tfsdk:"source"`
	Value       types.List   `tfsdk:"value"`
}

func (*InheritedDHCPConfigIgnoreItemListModel) Expand

func (*InheritedDHCPConfigIgnoreItemListModel) Flatten

type IpSpaceDataSource

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

IpSpaceDataSource defines the data source implementation.

func (*IpSpaceDataSource) Configure

func (*IpSpaceDataSource) Metadata

func (*IpSpaceDataSource) Read

func (*IpSpaceDataSource) Schema

type IpSpaceResource

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

IpSpaceResource defines the resource implementation.

func (*IpSpaceResource) Configure

func (*IpSpaceResource) Create

func (*IpSpaceResource) Delete

func (*IpSpaceResource) ImportState

func (*IpSpaceResource) Metadata

func (*IpSpaceResource) Read

func (*IpSpaceResource) Schema

func (*IpSpaceResource) Update

type IpamHostDataSource

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

IpamHostDataSource defines the data source implementation.

func (*IpamHostDataSource) Configure

func (*IpamHostDataSource) Metadata

func (*IpamHostDataSource) Read

func (*IpamHostDataSource) Schema

type IpamHostResource

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

IpamHostResource defines the resource implementation.

func (*IpamHostResource) Configure

func (*IpamHostResource) Create

func (*IpamHostResource) Delete

func (*IpamHostResource) ImportState

func (*IpamHostResource) Metadata

func (*IpamHostResource) Read

func (*IpamHostResource) Schema

func (*IpamHostResource) Update

type IpamsvcASMConfigModel

type IpamsvcASMConfigModel struct {
	AsmThreshold       types.Int64       `tfsdk:"asm_threshold"`
	Enable             types.Bool        `tfsdk:"enable"`
	EnableNotification types.Bool        `tfsdk:"enable_notification"`
	ForecastPeriod     types.Int64       `tfsdk:"forecast_period"`
	GrowthFactor       types.Int64       `tfsdk:"growth_factor"`
	GrowthType         types.String      `tfsdk:"growth_type"`
	History            types.Int64       `tfsdk:"history"`
	MinTotal           types.Int64       `tfsdk:"min_total"`
	MinUnused          types.Int64       `tfsdk:"min_unused"`
	ReenableDate       timetypes.RFC3339 `tfsdk:"reenable_date"`
}

func (*IpamsvcASMConfigModel) Expand

func (*IpamsvcASMConfigModel) Flatten

func (m *IpamsvcASMConfigModel) Flatten(ctx context.Context, from *ipam.ASMConfig, diags *diag.Diagnostics)

type IpamsvcAccessFilterModel

type IpamsvcAccessFilterModel struct {
	Access           types.String `tfsdk:"access"`
	HardwareFilterId types.String `tfsdk:"hardware_filter_id"`
	OptionFilterId   types.String `tfsdk:"option_filter_id"`
}

func (*IpamsvcAccessFilterModel) Expand

func (*IpamsvcAccessFilterModel) Flatten

func (m *IpamsvcAccessFilterModel) Flatten(ctx context.Context, from *ipam.AccessFilter, diags *diag.Diagnostics)

type IpamsvcAddressBlockModel

type IpamsvcAddressBlockModel struct {
	Address                    types.String                     `tfsdk:"address"`
	AsmConfig                  types.Object                     `tfsdk:"asm_config"`
	AsmScopeFlag               types.Int64                      `tfsdk:"asm_scope_flag"`
	Cidr                       types.Int64                      `tfsdk:"cidr"`
	Comment                    types.String                     `tfsdk:"comment"`
	CompartmentId              types.String                     `tfsdk:"compartment_id"`
	CreatedAt                  timetypes.RFC3339                `tfsdk:"created_at"`
	DdnsClientUpdate           types.String                     `tfsdk:"ddns_client_update"`
	DdnsConflictResolutionMode types.String                     `tfsdk:"ddns_conflict_resolution_mode"`
	DdnsDomain                 types.String                     `tfsdk:"ddns_domain"`
	DdnsGenerateName           types.Bool                       `tfsdk:"ddns_generate_name"`
	DdnsGeneratedPrefix        types.String                     `tfsdk:"ddns_generated_prefix"`
	DdnsSendUpdates            types.Bool                       `tfsdk:"ddns_send_updates"`
	DdnsTtlPercent             types.Float64                    `tfsdk:"ddns_ttl_percent"`
	DdnsUpdateOnRenew          types.Bool                       `tfsdk:"ddns_update_on_renew"`
	DdnsUseConflictResolution  types.Bool                       `tfsdk:"ddns_use_conflict_resolution"`
	Delegation                 types.String                     `tfsdk:"delegation"`
	DhcpConfig                 types.Object                     `tfsdk:"dhcp_config"`
	DhcpOptions                types.List                       `tfsdk:"dhcp_options"`
	DhcpUtilization            types.Object                     `tfsdk:"dhcp_utilization"`
	DiscoveryAttrs             types.Map                        `tfsdk:"discovery_attrs"`
	DiscoveryMetadata          types.Map                        `tfsdk:"discovery_metadata"`
	ExternalKeys               types.Map                        `tfsdk:"external_keys"`
	FederatedRealms            internaltypes.UnorderedListValue `tfsdk:"federated_realms"`
	HeaderOptionFilename       types.String                     `tfsdk:"header_option_filename"`
	HeaderOptionServerAddress  types.String                     `tfsdk:"header_option_server_address"`
	HeaderOptionServerName     types.String                     `tfsdk:"header_option_server_name"`
	HostnameRewriteChar        types.String                     `tfsdk:"hostname_rewrite_char"`
	HostnameRewriteEnabled     types.Bool                       `tfsdk:"hostname_rewrite_enabled"`
	HostnameRewriteRegex       types.String                     `tfsdk:"hostname_rewrite_regex"`
	Id                         types.String                     `tfsdk:"id"`
	InheritanceParent          types.String                     `tfsdk:"inheritance_parent"`
	InheritanceSources         types.Object                     `tfsdk:"inheritance_sources"`
	Name                       types.String                     `tfsdk:"name"`
	Parent                     types.String                     `tfsdk:"parent"`
	Protocol                   types.String                     `tfsdk:"protocol"`
	Space                      types.String                     `tfsdk:"space"`
	Tags                       types.Map                        `tfsdk:"tags"`
	TagsAll                    types.Map                        `tfsdk:"tags_all"`
	Threshold                  types.Object                     `tfsdk:"threshold"`
	UpdatedAt                  timetypes.RFC3339                `tfsdk:"updated_at"`
	Usage                      types.List                       `tfsdk:"usage"`
	Utilization                types.Object                     `tfsdk:"utilization"`
	UtilizationV6              types.Object                     `tfsdk:"utilization_v6"`
	NextAvailableId            types.String                     `tfsdk:"next_available_id"`
}

func (*IpamsvcAddressBlockModel) Expand

func (m *IpamsvcAddressBlockModel) Expand(ctx context.Context, diags *diag.Diagnostics, isCreate bool) *ipam.AddressBlock

func (*IpamsvcAddressBlockModel) Flatten

func (m *IpamsvcAddressBlockModel) Flatten(ctx context.Context, from *ipam.AddressBlock, diags *diag.Diagnostics)

type IpamsvcAddressBlockModelWithFilter

type IpamsvcAddressBlockModelWithFilter struct {
	Filters    types.Map  `tfsdk:"filters"`
	TagFilters types.Map  `tfsdk:"tag_filters"`
	Results    types.List `tfsdk:"results"`
}

func (*IpamsvcAddressBlockModelWithFilter) FlattenResults

func (m *IpamsvcAddressBlockModelWithFilter) FlattenResults(ctx context.Context, from []ipam.AddressBlock, diags *diag.Diagnostics)

type IpamsvcAddressModel

type IpamsvcAddressModel struct {
	Address           types.String      `tfsdk:"address"`
	Comment           types.String      `tfsdk:"comment"`
	CompartmentId     types.String      `tfsdk:"compartment_id"`
	CreatedAt         timetypes.RFC3339 `tfsdk:"created_at"`
	DhcpInfo          types.Object      `tfsdk:"dhcp_info"`
	DisableDhcp       types.Bool        `tfsdk:"disable_dhcp"`
	DiscoveryAttrs    types.Map         `tfsdk:"discovery_attrs"`
	DiscoveryMetadata types.Map         `tfsdk:"discovery_metadata"`
	ExternalKeys      types.Map         `tfsdk:"external_keys"`
	Host              types.String      `tfsdk:"host"`
	Hwaddr            types.String      `tfsdk:"hwaddr"`
	Id                types.String      `tfsdk:"id"`
	Interface         types.String      `tfsdk:"interface"`
	Names             types.List        `tfsdk:"names"`
	Parent            types.String      `tfsdk:"parent"`
	Protocol          types.String      `tfsdk:"protocol"`
	Range             types.String      `tfsdk:"range"`
	Space             types.String      `tfsdk:"space"`
	State             types.String      `tfsdk:"state"`
	Tags              types.Map         `tfsdk:"tags"`
	TagsAll           types.Map         `tfsdk:"tags_all"`
	UpdatedAt         timetypes.RFC3339 `tfsdk:"updated_at"`
	Usage             types.List        `tfsdk:"usage"`
	NextAvailableId   types.String      `tfsdk:"next_available_id"`
}

func (*IpamsvcAddressModel) Expand

func (m *IpamsvcAddressModel) Expand(ctx context.Context, diags *diag.Diagnostics, isCreate bool) *ipam.Address

func (*IpamsvcAddressModel) Flatten

func (m *IpamsvcAddressModel) Flatten(ctx context.Context, from *ipam.Address, diags *diag.Diagnostics)

type IpamsvcAddressModelWithFilter

type IpamsvcAddressModelWithFilter struct {
	Filters    types.Map  `tfsdk:"filters"`
	TagFilters types.Map  `tfsdk:"tag_filters"`
	Results    types.List `tfsdk:"results"`
}

func (*IpamsvcAddressModelWithFilter) FlattenResults

func (m *IpamsvcAddressModelWithFilter) FlattenResults(ctx context.Context, from []ipam.Address, diags *diag.Diagnostics)

type IpamsvcAsmEnableBlockModel

type IpamsvcAsmEnableBlockModel struct {
	Enable             types.Bool        `tfsdk:"enable"`
	EnableNotification types.Bool        `tfsdk:"enable_notification"`
	ReenableDate       timetypes.RFC3339 `tfsdk:"reenable_date"`
}

func (*IpamsvcAsmEnableBlockModel) Expand

func (*IpamsvcAsmEnableBlockModel) Flatten

type IpamsvcAsmGrowthBlockModel

type IpamsvcAsmGrowthBlockModel struct {
	GrowthFactor types.Int64  `tfsdk:"growth_factor"`
	GrowthType   types.String `tfsdk:"growth_type"`
}

func (*IpamsvcAsmGrowthBlockModel) Expand

func (*IpamsvcAsmGrowthBlockModel) Flatten

type IpamsvcDDNSBlockModel

type IpamsvcDDNSBlockModel struct {
	ClientPrincipal       types.String `tfsdk:"client_principal"`
	DdnsDomain            types.String `tfsdk:"ddns_domain"`
	DdnsEnabled           types.Bool   `tfsdk:"ddns_enabled"`
	DdnsSendUpdates       types.Bool   `tfsdk:"ddns_send_updates"`
	DdnsZones             types.List   `tfsdk:"ddns_zones"`
	GssTsigFallback       types.Bool   `tfsdk:"gss_tsig_fallback"`
	KerberosKdc           types.String `tfsdk:"kerberos_kdc"`
	KerberosKeys          types.List   `tfsdk:"kerberos_keys"`
	KerberosRekeyInterval types.Int64  `tfsdk:"kerberos_rekey_interval"`
	KerberosRetryInterval types.Int64  `tfsdk:"kerberos_retry_interval"`
	KerberosTkeyLifetime  types.Int64  `tfsdk:"kerberos_tkey_lifetime"`
	KerberosTkeyProtocol  types.String `tfsdk:"kerberos_tkey_protocol"`
	ServerPrincipal       types.String `tfsdk:"server_principal"`
}

func (*IpamsvcDDNSBlockModel) Expand

func (*IpamsvcDDNSBlockModel) Flatten

func (m *IpamsvcDDNSBlockModel) Flatten(ctx context.Context, from *ipam.DDNSBlock, diags *diag.Diagnostics)

type IpamsvcDDNSHostnameBlockModel

type IpamsvcDDNSHostnameBlockModel struct {
	DdnsGenerateName    types.Bool   `tfsdk:"ddns_generate_name"`
	DdnsGeneratedPrefix types.String `tfsdk:"ddns_generated_prefix"`
}

func (*IpamsvcDDNSHostnameBlockModel) Expand

func (*IpamsvcDDNSHostnameBlockModel) Flatten

type IpamsvcDDNSUpdateBlockModel

type IpamsvcDDNSUpdateBlockModel struct {
	DdnsDomain      types.String `tfsdk:"ddns_domain"`
	DdnsSendUpdates types.Bool   `tfsdk:"ddns_send_updates"`
}

func (*IpamsvcDDNSUpdateBlockModel) Expand

func (*IpamsvcDDNSUpdateBlockModel) Flatten

type IpamsvcDDNSZoneModel

type IpamsvcDDNSZoneModel struct {
	Fqdn           types.String `tfsdk:"fqdn"`
	GssTsigEnabled types.Bool   `tfsdk:"gss_tsig_enabled"`
	Nameservers    types.List   `tfsdk:"nameservers"`
	TsigEnabled    types.Bool   `tfsdk:"tsig_enabled"`
	TsigKey        types.Object `tfsdk:"tsig_key"`
	View           types.String `tfsdk:"view"`
	ViewName       types.String `tfsdk:"view_name"`
	Zone           types.String `tfsdk:"zone"`
}

func (*IpamsvcDDNSZoneModel) Expand

func (*IpamsvcDDNSZoneModel) Flatten

func (m *IpamsvcDDNSZoneModel) Flatten(ctx context.Context, from *ipam.DDNSZone, diags *diag.Diagnostics)

type IpamsvcDHCPConfigModel

type IpamsvcDHCPConfigModel struct {
	AbandonedReclaimTime   types.Int64 `tfsdk:"abandoned_reclaim_time"`
	AbandonedReclaimTimeV6 types.Int64 `tfsdk:"abandoned_reclaim_time_v6"`
	AllowUnknown           types.Bool  `tfsdk:"allow_unknown"`
	AllowUnknownV6         types.Bool  `tfsdk:"allow_unknown_v6"`
	EchoClientId           types.Bool  `tfsdk:"echo_client_id"`
	Filters                types.List  `tfsdk:"filters"`
	FiltersLargeSelection  types.List  `tfsdk:"filters_large_selection"`
	FiltersV6              types.List  `tfsdk:"filters_v6"`
	IgnoreClientUid        types.Bool  `tfsdk:"ignore_client_uid"`
	IgnoreList             types.List  `tfsdk:"ignore_list"`
	LeaseTime              types.Int64 `tfsdk:"lease_time"`
	LeaseTimeV6            types.Int64 `tfsdk:"lease_time_v6"`
}

func (*IpamsvcDHCPConfigModel) Expand

func (*IpamsvcDHCPConfigModel) Flatten

func (m *IpamsvcDHCPConfigModel) Flatten(ctx context.Context, from *ipam.DHCPConfig, diags *diag.Diagnostics)

type IpamsvcDHCPInfoModel

type IpamsvcDHCPInfoModel struct {
	ClientHostname    types.String      `tfsdk:"client_hostname"`
	ClientHwaddr      types.String      `tfsdk:"client_hwaddr"`
	ClientId          types.String      `tfsdk:"client_id"`
	End               timetypes.RFC3339 `tfsdk:"end"`
	Fingerprint       types.String      `tfsdk:"fingerprint"`
	Iaid              types.Int64       `tfsdk:"iaid"`
	LeaseType         types.String      `tfsdk:"lease_type"`
	PreferredLifetime timetypes.RFC3339 `tfsdk:"preferred_lifetime"`
	Remain            types.Int64       `tfsdk:"remain"`
	Start             timetypes.RFC3339 `tfsdk:"start"`
	State             types.String      `tfsdk:"state"`
	StateTs           timetypes.RFC3339 `tfsdk:"state_ts"`
}

func (*IpamsvcDHCPInfoModel) Expand

func (*IpamsvcDHCPInfoModel) Flatten

func (m *IpamsvcDHCPInfoModel) Flatten(ctx context.Context, from *ipam.DHCPInfo, diags *diag.Diagnostics)

type IpamsvcDHCPInheritanceModel

type IpamsvcDHCPInheritanceModel struct {
	AsmConfig                  types.Object `tfsdk:"asm_config"`
	DdnsClientUpdate           types.Object `tfsdk:"ddns_client_update"`
	DdnsConflictResolutionMode types.Object `tfsdk:"ddns_conflict_resolution_mode"`
	DdnsEnabled                types.Object `tfsdk:"ddns_enabled"`
	DdnsHostnameBlock          types.Object `tfsdk:"ddns_hostname_block"`
	DdnsTtlPercent             types.Object `tfsdk:"ddns_ttl_percent"`
	DdnsUpdateBlock            types.Object `tfsdk:"ddns_update_block"`
	DdnsUpdateOnRenew          types.Object `tfsdk:"ddns_update_on_renew"`
	DdnsUseConflictResolution  types.Object `tfsdk:"ddns_use_conflict_resolution"`
	DhcpConfig                 types.Object `tfsdk:"dhcp_config"`
	DhcpOptions                types.Object `tfsdk:"dhcp_options"`
	HeaderOptionFilename       types.Object `tfsdk:"header_option_filename"`
	HeaderOptionServerAddress  types.Object `tfsdk:"header_option_server_address"`
	HeaderOptionServerName     types.Object `tfsdk:"header_option_server_name"`
	HostnameRewriteBlock       types.Object `tfsdk:"hostname_rewrite_block"`
}

func (*IpamsvcDHCPInheritanceModel) Expand

func (*IpamsvcDHCPInheritanceModel) Flatten

type IpamsvcDHCPOptionsInheritanceModel

type IpamsvcDHCPOptionsInheritanceModel struct {
	DhcpOptions types.Object `tfsdk:"dhcp_options"`
}

func (*IpamsvcDHCPOptionsInheritanceModel) Expand

func (*IpamsvcDHCPOptionsInheritanceModel) Flatten

type IpamsvcDHCPUtilizationModel

type IpamsvcDHCPUtilizationModel struct {
	DhcpFree        types.String `tfsdk:"dhcp_free"`
	DhcpTotal       types.String `tfsdk:"dhcp_total"`
	DhcpUsed        types.String `tfsdk:"dhcp_used"`
	DhcpUtilization types.Int64  `tfsdk:"dhcp_utilization"`
}

func (*IpamsvcDHCPUtilizationModel) Expand

func (*IpamsvcDHCPUtilizationModel) Flatten

type IpamsvcExclusionRangeModel

type IpamsvcExclusionRangeModel struct {
	Comment types.String `tfsdk:"comment"`
	End     types.String `tfsdk:"end"`
	Start   types.String `tfsdk:"start"`
}

func (*IpamsvcExclusionRangeModel) Expand

func (*IpamsvcExclusionRangeModel) Flatten

type IpamsvcFixedAddressInheritanceModel

type IpamsvcFixedAddressInheritanceModel struct {
	DhcpOptions               types.Object `tfsdk:"dhcp_options"`
	HeaderOptionFilename      types.Object `tfsdk:"header_option_filename"`
	HeaderOptionServerAddress types.Object `tfsdk:"header_option_server_address"`
	HeaderOptionServerName    types.Object `tfsdk:"header_option_server_name"`
}

func (*IpamsvcFixedAddressInheritanceModel) Expand

func (*IpamsvcFixedAddressInheritanceModel) Flatten

type IpamsvcFixedAddressModel

type IpamsvcFixedAddressModel struct {
	Address                   types.String      `tfsdk:"address"`
	Comment                   types.String      `tfsdk:"comment"`
	CompartmentId             types.String      `tfsdk:"compartment_id"`
	CreatedAt                 timetypes.RFC3339 `tfsdk:"created_at"`
	DhcpOptions               types.List        `tfsdk:"dhcp_options"`
	DisableDhcp               types.Bool        `tfsdk:"disable_dhcp"`
	HeaderOptionFilename      types.String      `tfsdk:"header_option_filename"`
	HeaderOptionServerAddress types.String      `tfsdk:"header_option_server_address"`
	HeaderOptionServerName    types.String      `tfsdk:"header_option_server_name"`
	Hostname                  types.String      `tfsdk:"hostname"`
	Id                        types.String      `tfsdk:"id"`
	InheritanceAssignedHosts  types.List        `tfsdk:"inheritance_assigned_hosts"`
	InheritanceParent         types.String      `tfsdk:"inheritance_parent"`
	InheritanceSources        types.Object      `tfsdk:"inheritance_sources"`
	IpSpace                   types.String      `tfsdk:"ip_space"`
	MatchType                 types.String      `tfsdk:"match_type"`
	MatchValue                types.String      `tfsdk:"match_value"`
	Name                      types.String      `tfsdk:"name"`
	Parent                    types.String      `tfsdk:"parent"`
	Tags                      types.Map         `tfsdk:"tags"`
	TagsAll                   types.Map         `tfsdk:"tags_all"`
	UpdatedAt                 timetypes.RFC3339 `tfsdk:"updated_at"`
	NextAvailableId           types.String      `tfsdk:"next_available_id"`
}

func (*IpamsvcFixedAddressModel) Expand

func (*IpamsvcFixedAddressModel) Flatten

func (m *IpamsvcFixedAddressModel) Flatten(ctx context.Context, from *ipam.FixedAddress, diags *diag.Diagnostics)

type IpamsvcFixedAddressModelWithFilter

type IpamsvcFixedAddressModelWithFilter struct {
	Filters    types.Map  `tfsdk:"filters"`
	TagFilters types.Map  `tfsdk:"tag_filters"`
	Results    types.List `tfsdk:"results"`
}

func (*IpamsvcFixedAddressModelWithFilter) FlattenResults

func (m *IpamsvcFixedAddressModelWithFilter) FlattenResults(ctx context.Context, from []ipam.FixedAddress, diags *diag.Diagnostics)

type IpamsvcHAGroupHeartbeatsModel

type IpamsvcHAGroupHeartbeatsModel struct {
	Peer                  types.String `tfsdk:"peer"`
	SuccessfulHeartbeat   types.String `tfsdk:"successful_heartbeat"`
	SuccessfulHeartbeatV6 types.String `tfsdk:"successful_heartbeat_v6"`
}

func (*IpamsvcHAGroupHeartbeatsModel) Flatten

type IpamsvcHAGroupHostModel

type IpamsvcHAGroupHostModel struct {
	Address    types.String `tfsdk:"address"`
	Heartbeats types.List   `tfsdk:"heartbeats"`
	Host       types.String `tfsdk:"host"`
	Port       types.Int64  `tfsdk:"port"`
	PortV6     types.Int64  `tfsdk:"port_v6"`
	Role       types.String `tfsdk:"role"`
	State      types.String `tfsdk:"state"`
	StateV6    types.String `tfsdk:"state_v6"`
}

func (*IpamsvcHAGroupHostModel) Expand

func (*IpamsvcHAGroupHostModel) Flatten

func (m *IpamsvcHAGroupHostModel) Flatten(ctx context.Context, from *ipam.HAGroupHost, diags *diag.Diagnostics)

type IpamsvcHAGroupModel

type IpamsvcHAGroupModel struct {
	AnycastConfigId types.String      `tfsdk:"anycast_config_id"`
	Comment         types.String      `tfsdk:"comment"`
	CreatedAt       timetypes.RFC3339 `tfsdk:"created_at"`
	Hosts           types.List        `tfsdk:"hosts"`
	Id              types.String      `tfsdk:"id"`
	IpSpace         types.String      `tfsdk:"ip_space"`
	Mode            types.String      `tfsdk:"mode"`
	Name            types.String      `tfsdk:"name"`
	Status          types.String      `tfsdk:"status"`
	StatusV6        types.String      `tfsdk:"status_v6"`
	Tags            types.Map         `tfsdk:"tags"`
	TagsAll         types.Map         `tfsdk:"tags_all"`
	UpdatedAt       timetypes.RFC3339 `tfsdk:"updated_at"`
	CollectStats    types.Bool        `tfsdk:"collect_stats"`
}

func (*IpamsvcHAGroupModel) Expand

func (*IpamsvcHAGroupModel) Flatten

func (m *IpamsvcHAGroupModel) Flatten(ctx context.Context, from *ipam.HAGroup, diags *diag.Diagnostics)

type IpamsvcHAGroupModelWithFilter

type IpamsvcHAGroupModelWithFilter struct {
	Filters      types.Map  `tfsdk:"filters"`
	TagFilters   types.Map  `tfsdk:"tag_filters"`
	CollectStats types.Bool `tfsdk:"collect_stats"`
	Results      types.List `tfsdk:"results"`
}

func (*IpamsvcHAGroupModelWithFilter) FlattenResults

func (m *IpamsvcHAGroupModelWithFilter) FlattenResults(ctx context.Context, from []ipam.HAGroup, diags *diag.Diagnostics)

type IpamsvcHostAddressModel

type IpamsvcHostAddressModel struct {
	Address         types.String `tfsdk:"address"`
	Ref             types.String `tfsdk:"ref"`
	Space           types.String `tfsdk:"space"`
	NextAvailableId types.String `tfsdk:"next_available_id"`
}

func (*IpamsvcHostAddressModel) Expand

func (*IpamsvcHostAddressModel) Flatten

type IpamsvcHostAssociatedServerModel

type IpamsvcHostAssociatedServerModel struct {
	Id   types.String `tfsdk:"id"`
	Name types.String `tfsdk:"name"`
}

func (*IpamsvcHostAssociatedServerModel) Expand

func (*IpamsvcHostAssociatedServerModel) Flatten

type IpamsvcHostNameModel

type IpamsvcHostNameModel struct {
	Alias       types.Bool   `tfsdk:"alias"`
	Name        types.String `tfsdk:"name"`
	PrimaryName types.Bool   `tfsdk:"primary_name"`
	Zone        types.String `tfsdk:"zone"`
}

func (*IpamsvcHostNameModel) Expand

func (*IpamsvcHostNameModel) Flatten

func (m *IpamsvcHostNameModel) Flatten(ctx context.Context, from *ipam.HostName, diags *diag.Diagnostics)

type IpamsvcHostnameRewriteBlockModel

type IpamsvcHostnameRewriteBlockModel struct {
	HostnameRewriteChar    types.String `tfsdk:"hostname_rewrite_char"`
	HostnameRewriteEnabled types.Bool   `tfsdk:"hostname_rewrite_enabled"`
	HostnameRewriteRegex   types.String `tfsdk:"hostname_rewrite_regex"`
}

func (*IpamsvcHostnameRewriteBlockModel) Expand

func (*IpamsvcHostnameRewriteBlockModel) Flatten

type IpamsvcIPSpaceInheritanceModel

type IpamsvcIPSpaceInheritanceModel struct {
	AsmConfig                       types.Object `tfsdk:"asm_config"`
	DdnsClientUpdate                types.Object `tfsdk:"ddns_client_update"`
	DdnsConflictResolutionMode      types.Object `tfsdk:"ddns_conflict_resolution_mode"`
	DdnsEnabled                     types.Object `tfsdk:"ddns_enabled"`
	DdnsHostnameBlock               types.Object `tfsdk:"ddns_hostname_block"`
	DdnsTtlPercent                  types.Object `tfsdk:"ddns_ttl_percent"`
	DdnsUpdateBlock                 types.Object `tfsdk:"ddns_update_block"`
	DdnsUpdateOnRenew               types.Object `tfsdk:"ddns_update_on_renew"`
	DdnsUseConflictResolution       types.Object `tfsdk:"ddns_use_conflict_resolution"`
	DhcpConfig                      types.Object `tfsdk:"dhcp_config"`
	DhcpOptions                     types.Object `tfsdk:"dhcp_options"`
	DhcpOptionsV6                   types.Object `tfsdk:"dhcp_options_v6"`
	HeaderOptionFilename            types.Object `tfsdk:"header_option_filename"`
	HeaderOptionServerAddress       types.Object `tfsdk:"header_option_server_address"`
	HeaderOptionServerName          types.Object `tfsdk:"header_option_server_name"`
	HostnameRewriteBlock            types.Object `tfsdk:"hostname_rewrite_block"`
	VendorSpecificOptionOptionSpace types.Object `tfsdk:"vendor_specific_option_option_space"`
}

func (*IpamsvcIPSpaceInheritanceModel) Expand

func (*IpamsvcIPSpaceInheritanceModel) Flatten

type IpamsvcIPSpaceModel

type IpamsvcIPSpaceModel struct {
	AsmConfig                       types.Object      `tfsdk:"asm_config"`
	AsmScopeFlag                    types.Int64       `tfsdk:"asm_scope_flag"`
	Comment                         types.String      `tfsdk:"comment"`
	CompartmentId                   types.String      `tfsdk:"compartment_id"`
	CreatedAt                       timetypes.RFC3339 `tfsdk:"created_at"`
	DdnsClientUpdate                types.String      `tfsdk:"ddns_client_update"`
	DdnsConflictResolutionMode      types.String      `tfsdk:"ddns_conflict_resolution_mode"`
	DdnsDomain                      types.String      `tfsdk:"ddns_domain"`
	DdnsGenerateName                types.Bool        `tfsdk:"ddns_generate_name"`
	DdnsGeneratedPrefix             types.String      `tfsdk:"ddns_generated_prefix"`
	DdnsSendUpdates                 types.Bool        `tfsdk:"ddns_send_updates"`
	DdnsTtlPercent                  types.Float64     `tfsdk:"ddns_ttl_percent"`
	DdnsUpdateOnRenew               types.Bool        `tfsdk:"ddns_update_on_renew"`
	DdnsUseConflictResolution       types.Bool        `tfsdk:"ddns_use_conflict_resolution"`
	DefaultRealms                   types.List        `tfsdk:"default_realms"`
	DhcpConfig                      types.Object      `tfsdk:"dhcp_config"`
	DhcpOptions                     types.List        `tfsdk:"dhcp_options"`
	DhcpOptionsV6                   types.List        `tfsdk:"dhcp_options_v6"`
	HeaderOptionFilename            types.String      `tfsdk:"header_option_filename"`
	HeaderOptionServerAddress       types.String      `tfsdk:"header_option_server_address"`
	HeaderOptionServerName          types.String      `tfsdk:"header_option_server_name"`
	HostnameRewriteChar             types.String      `tfsdk:"hostname_rewrite_char"`
	HostnameRewriteEnabled          types.Bool        `tfsdk:"hostname_rewrite_enabled"`
	HostnameRewriteRegex            types.String      `tfsdk:"hostname_rewrite_regex"`
	Id                              types.String      `tfsdk:"id"`
	InheritanceSources              types.Object      `tfsdk:"inheritance_sources"`
	Name                            types.String      `tfsdk:"name"`
	Tags                            types.Map         `tfsdk:"tags"`
	TagsAll                         types.Map         `tfsdk:"tags_all"`
	Threshold                       types.Object      `tfsdk:"threshold"`
	UpdatedAt                       timetypes.RFC3339 `tfsdk:"updated_at"`
	Utilization                     types.Object      `tfsdk:"utilization"`
	UtilizationV6                   types.Object      `tfsdk:"utilization_v6"`
	VendorSpecificOptionOptionSpace types.String      `tfsdk:"vendor_specific_option_option_space"`
}

func (*IpamsvcIPSpaceModel) Expand

func (*IpamsvcIPSpaceModel) Flatten

func (m *IpamsvcIPSpaceModel) Flatten(ctx context.Context, from *ipam.IPSpace, diags *diag.Diagnostics)

type IpamsvcIPSpaceModelWithFilter

type IpamsvcIPSpaceModelWithFilter struct {
	Filters    types.Map  `tfsdk:"filters"`
	TagFilters types.Map  `tfsdk:"tag_filters"`
	Results    types.List `tfsdk:"results"`
}

func (*IpamsvcIPSpaceModelWithFilter) FlattenResults

func (m *IpamsvcIPSpaceModelWithFilter) FlattenResults(ctx context.Context, from []ipam.IPSpace, diags *diag.Diagnostics)

type IpamsvcIgnoreItemModel

type IpamsvcIgnoreItemModel struct {
	Type  types.String `tfsdk:"type"`
	Value types.String `tfsdk:"value"`
}

func (*IpamsvcIgnoreItemModel) Expand

func (*IpamsvcIgnoreItemModel) Flatten

func (m *IpamsvcIgnoreItemModel) Flatten(ctx context.Context, from *ipam.IgnoreItem, diags *diag.Diagnostics)

type IpamsvcInheritedASMConfigModel

type IpamsvcInheritedASMConfigModel struct {
	AsmEnableBlock types.Object `tfsdk:"asm_enable_block"`
	AsmGrowthBlock types.Object `tfsdk:"asm_growth_block"`
	AsmThreshold   types.Object `tfsdk:"asm_threshold"`
	ForecastPeriod types.Object `tfsdk:"forecast_period"`
	History        types.Object `tfsdk:"history"`
	MinTotal       types.Object `tfsdk:"min_total"`
	MinUnused      types.Object `tfsdk:"min_unused"`
}

func (*IpamsvcInheritedASMConfigModel) Expand

func (*IpamsvcInheritedASMConfigModel) Flatten

type IpamsvcInheritedAsmEnableBlockModel

type IpamsvcInheritedAsmEnableBlockModel struct {
	Action      types.String `tfsdk:"action"`
	DisplayName types.String `tfsdk:"display_name"`
	Source      types.String `tfsdk:"source"`
	Value       types.Object `tfsdk:"value"`
}

func (*IpamsvcInheritedAsmEnableBlockModel) Expand

func (*IpamsvcInheritedAsmEnableBlockModel) Flatten

type IpamsvcInheritedAsmGrowthBlockModel

type IpamsvcInheritedAsmGrowthBlockModel struct {
	Action      types.String `tfsdk:"action"`
	DisplayName types.String `tfsdk:"display_name"`
	Source      types.String `tfsdk:"source"`
	Value       types.Object `tfsdk:"value"`
}

func (*IpamsvcInheritedAsmGrowthBlockModel) Expand

func (*IpamsvcInheritedAsmGrowthBlockModel) Flatten

type IpamsvcInheritedDDNSBlockModel

type IpamsvcInheritedDDNSBlockModel struct {
	Action      types.String `tfsdk:"action"`
	DisplayName types.String `tfsdk:"display_name"`
	Source      types.String `tfsdk:"source"`
	Value       types.Object `tfsdk:"value"`
}

func (*IpamsvcInheritedDDNSBlockModel) Expand

func (*IpamsvcInheritedDDNSBlockModel) Flatten

type IpamsvcInheritedDDNSHostnameBlockModel

type IpamsvcInheritedDDNSHostnameBlockModel struct {
	Action      types.String `tfsdk:"action"`
	DisplayName types.String `tfsdk:"display_name"`
	Source      types.String `tfsdk:"source"`
	Value       types.Object `tfsdk:"value"`
}

func (*IpamsvcInheritedDDNSHostnameBlockModel) Expand

func (*IpamsvcInheritedDDNSHostnameBlockModel) Flatten

type IpamsvcInheritedDDNSUpdateBlockModel

type IpamsvcInheritedDDNSUpdateBlockModel struct {
	Action      types.String `tfsdk:"action"`
	DisplayName types.String `tfsdk:"display_name"`
	Source      types.String `tfsdk:"source"`
	Value       types.Object `tfsdk:"value"`
}

func (*IpamsvcInheritedDDNSUpdateBlockModel) Expand

func (*IpamsvcInheritedDDNSUpdateBlockModel) Flatten

type IpamsvcInheritedDHCPConfigModel

type IpamsvcInheritedDHCPConfigModel struct {
	AbandonedReclaimTime   types.Object `tfsdk:"abandoned_reclaim_time"`
	AbandonedReclaimTimeV6 types.Object `tfsdk:"abandoned_reclaim_time_v6"`
	AllowUnknown           types.Object `tfsdk:"allow_unknown"`
	AllowUnknownV6         types.Object `tfsdk:"allow_unknown_v6"`
	EchoClientId           types.Object `tfsdk:"echo_client_id"`
	Filters                types.Object `tfsdk:"filters"`
	FiltersV6              types.Object `tfsdk:"filters_v6"`
	IgnoreClientUid        types.Object `tfsdk:"ignore_client_uid"`
	IgnoreList             types.Object `tfsdk:"ignore_list"`
	LeaseTime              types.Object `tfsdk:"lease_time"`
	LeaseTimeV6            types.Object `tfsdk:"lease_time_v6"`
}

func (*IpamsvcInheritedDHCPConfigModel) Expand

func (*IpamsvcInheritedDHCPConfigModel) Flatten

type IpamsvcInheritedDHCPOptionItemModel

type IpamsvcInheritedDHCPOptionItemModel struct {
	Option          types.Object `tfsdk:"option"`
	OverridingGroup types.String `tfsdk:"overriding_group"`
}

func (*IpamsvcInheritedDHCPOptionItemModel) Expand

func (*IpamsvcInheritedDHCPOptionItemModel) Flatten

type IpamsvcInheritedDHCPOptionListModel

type IpamsvcInheritedDHCPOptionListModel struct {
	Action types.String `tfsdk:"action"`
	Value  types.List   `tfsdk:"value"`
}

func (*IpamsvcInheritedDHCPOptionListModel) Expand

func (*IpamsvcInheritedDHCPOptionListModel) Flatten

type IpamsvcInheritedDHCPOptionModel

type IpamsvcInheritedDHCPOptionModel struct {
	Action      types.String `tfsdk:"action"`
	DisplayName types.String `tfsdk:"display_name"`
	Source      types.String `tfsdk:"source"`
	Value       types.Object `tfsdk:"value"`
}

func (*IpamsvcInheritedDHCPOptionModel) Expand

func (*IpamsvcInheritedDHCPOptionModel) Flatten

type IpamsvcInheritedHostnameRewriteBlockModel

type IpamsvcInheritedHostnameRewriteBlockModel struct {
	Action      types.String `tfsdk:"action"`
	DisplayName types.String `tfsdk:"display_name"`
	Source      types.String `tfsdk:"source"`
	Value       types.Object `tfsdk:"value"`
}

func (*IpamsvcInheritedHostnameRewriteBlockModel) Expand

func (*IpamsvcInheritedHostnameRewriteBlockModel) Flatten

type IpamsvcIpamHostModel

type IpamsvcIpamHostModel struct {
	Addresses           types.List        `tfsdk:"addresses"`
	AutoGenerateRecords types.Bool        `tfsdk:"auto_generate_records"`
	Comment             types.String      `tfsdk:"comment"`
	CreatedAt           timetypes.RFC3339 `tfsdk:"created_at"`
	HostNames           types.List        `tfsdk:"host_names"`
	Id                  types.String      `tfsdk:"id"`
	Name                types.String      `tfsdk:"name"`
	Tags                types.Map         `tfsdk:"tags"`
	TagsAll             types.Map         `tfsdk:"tags_all"`
	UpdatedAt           timetypes.RFC3339 `tfsdk:"updated_at"`
}

func (*IpamsvcIpamHostModel) Expand

func (*IpamsvcIpamHostModel) Flatten

func (m *IpamsvcIpamHostModel) Flatten(ctx context.Context, from *ipam.IpamHost, diags *diag.Diagnostics)

type IpamsvcIpamHostModelWithFilter

type IpamsvcIpamHostModelWithFilter struct {
	Filters    types.Map  `tfsdk:"filters"`
	TagFilters types.Map  `tfsdk:"tag_filters"`
	Results    types.List `tfsdk:"results"`
}

func (*IpamsvcIpamHostModelWithFilter) FlattenResults

func (m *IpamsvcIpamHostModelWithFilter) FlattenResults(ctx context.Context, from []ipam.IpamHost, diags *diag.Diagnostics)

type IpamsvcKerberosKeyModel

type IpamsvcKerberosKeyModel struct {
	Algorithm  types.String `tfsdk:"algorithm"`
	Domain     types.String `tfsdk:"domain"`
	Key        types.String `tfsdk:"key"`
	Principal  types.String `tfsdk:"principal"`
	UploadedAt types.String `tfsdk:"uploaded_at"`
	Version    types.Int64  `tfsdk:"version"`
}

func (*IpamsvcKerberosKeyModel) Expand

func (*IpamsvcKerberosKeyModel) Flatten

func (m *IpamsvcKerberosKeyModel) Flatten(ctx context.Context, from *ipam.KerberosKey, diags *diag.Diagnostics)

type IpamsvcNameModel

type IpamsvcNameModel struct {
	Name types.String `tfsdk:"name"`
	Type types.String `tfsdk:"type"`
}

func (*IpamsvcNameModel) Expand

func (m *IpamsvcNameModel) Expand(ctx context.Context, diags *diag.Diagnostics) *ipam.Name

func (*IpamsvcNameModel) Flatten

func (m *IpamsvcNameModel) Flatten(ctx context.Context, from *ipam.Name, diags *diag.Diagnostics)

type IpamsvcNameserverModel

type IpamsvcNameserverModel struct {
	ClientPrincipal       types.String `tfsdk:"client_principal"`
	GssTsigFallback       types.Bool   `tfsdk:"gss_tsig_fallback"`
	KerberosRekeyInterval types.Int64  `tfsdk:"kerberos_rekey_interval"`
	KerberosRetryInterval types.Int64  `tfsdk:"kerberos_retry_interval"`
	KerberosTkeyLifetime  types.Int64  `tfsdk:"kerberos_tkey_lifetime"`
	KerberosTkeyProtocol  types.String `tfsdk:"kerberos_tkey_protocol"`
	Nameserver            types.String `tfsdk:"nameserver"`
	ServerPrincipal       types.String `tfsdk:"server_principal"`
}

func (*IpamsvcNameserverModel) Expand

func (*IpamsvcNameserverModel) Flatten

func (m *IpamsvcNameserverModel) Flatten(ctx context.Context, from *ipam.Nameserver, diags *diag.Diagnostics)

type IpamsvcNextAvailableAddressBlockModel added in v1.0.0

type IpamsvcNextAvailableAddressBlockModel struct {
	Id      types.String `tfsdk:"id"`
	Cidr    types.Int64  `tfsdk:"cidr"`
	Count   types.Int64  `tfsdk:"address_block_count"`
	Results types.List   `tfsdk:"results"`
}

func (*IpamsvcNextAvailableAddressBlockModel) FlattenResults added in v1.0.0

type IpamsvcNextAvailableIPModel

type IpamsvcNextAvailableIPModel struct {
	Id         types.String `tfsdk:"id"`
	Contiguous types.Bool   `tfsdk:"contiguous"`
	Count      types.Int64  `tfsdk:"ip_count"`
	Results    types.List   `tfsdk:"results"`
}

func (*IpamsvcNextAvailableIPModel) FlattenResults

func (m *IpamsvcNextAvailableIPModel) FlattenResults(ctx context.Context, from []ipam.Address, diags *diag.Diagnostics)

type IpamsvcNextAvailableSubnetModel

type IpamsvcNextAvailableSubnetModel struct {
	Id      types.String `tfsdk:"id"`
	Cidr    types.Int64  `tfsdk:"cidr"`
	Count   types.Int64  `tfsdk:"subnet_count"`
	Results types.List   `tfsdk:"results"`
}

func (*IpamsvcNextAvailableSubnetModel) FlattenResults

func (m *IpamsvcNextAvailableSubnetModel) FlattenResults(ctx context.Context, from []ipam.Subnet, diags *diag.Diagnostics)

type IpamsvcOptionCodeModel

type IpamsvcOptionCodeModel struct {
	Array       types.Bool        `tfsdk:"array"`
	Code        types.Int64       `tfsdk:"code"`
	Comment     types.String      `tfsdk:"comment"`
	CreatedAt   timetypes.RFC3339 `tfsdk:"created_at"`
	Id          types.String      `tfsdk:"id"`
	Name        types.String      `tfsdk:"name"`
	OptionSpace types.String      `tfsdk:"option_space"`
	Source      types.String      `tfsdk:"source"`
	Type        types.String      `tfsdk:"type"`
	UpdatedAt   timetypes.RFC3339 `tfsdk:"updated_at"`
}

func (*IpamsvcOptionCodeModel) Expand

func (*IpamsvcOptionCodeModel) Flatten

func (m *IpamsvcOptionCodeModel) Flatten(ctx context.Context, from *ipam.OptionCode, diags *diag.Diagnostics)

type IpamsvcOptionCodeModelWithFilter

type IpamsvcOptionCodeModelWithFilter struct {
	Filters types.Map  `tfsdk:"filters"`
	Results types.List `tfsdk:"results"`
}

func (*IpamsvcOptionCodeModelWithFilter) FlattenResults

func (m *IpamsvcOptionCodeModelWithFilter) FlattenResults(ctx context.Context, from []ipam.OptionCode, diags *diag.Diagnostics)

type IpamsvcOptionGroupModel

type IpamsvcOptionGroupModel struct {
	Comment     types.String      `tfsdk:"comment"`
	CreatedAt   timetypes.RFC3339 `tfsdk:"created_at"`
	DhcpOptions types.List        `tfsdk:"dhcp_options"`
	Id          types.String      `tfsdk:"id"`
	Name        types.String      `tfsdk:"name"`
	Protocol    types.String      `tfsdk:"protocol"`
	Tags        types.Map         `tfsdk:"tags"`
	TagsAll     types.Map         `tfsdk:"tags_all"`
	UpdatedAt   timetypes.RFC3339 `tfsdk:"updated_at"`
}

func (*IpamsvcOptionGroupModel) Expand

func (m *IpamsvcOptionGroupModel) Expand(ctx context.Context, diags *diag.Diagnostics, isCreate bool) *ipam.OptionGroup

func (*IpamsvcOptionGroupModel) Flatten

func (m *IpamsvcOptionGroupModel) Flatten(ctx context.Context, from *ipam.OptionGroup, diags *diag.Diagnostics)

type IpamsvcOptionGroupModelWithFilter

type IpamsvcOptionGroupModelWithFilter struct {
	Filters    types.Map  `tfsdk:"filters"`
	TagFilters types.Map  `tfsdk:"tag_filters"`
	Results    types.List `tfsdk:"results"`
}

func (*IpamsvcOptionGroupModelWithFilter) FlattenResults

func (m *IpamsvcOptionGroupModelWithFilter) FlattenResults(ctx context.Context, from []ipam.OptionGroup, diags *diag.Diagnostics)

type IpamsvcOptionItemModel

type IpamsvcOptionItemModel struct {
	Group       types.String `tfsdk:"group"`
	OptionCode  types.String `tfsdk:"option_code"`
	OptionValue types.String `tfsdk:"option_value"`
	Type        types.String `tfsdk:"type"`
}

func (*IpamsvcOptionItemModel) Expand

func (*IpamsvcOptionItemModel) Flatten

func (m *IpamsvcOptionItemModel) Flatten(ctx context.Context, from *ipam.OptionItem, diags *diag.Diagnostics)

type IpamsvcOptionSpaceModel

type IpamsvcOptionSpaceModel struct {
	Comment   types.String      `tfsdk:"comment"`
	CreatedAt timetypes.RFC3339 `tfsdk:"created_at"`
	Id        types.String      `tfsdk:"id"`
	Name      types.String      `tfsdk:"name"`
	Protocol  types.String      `tfsdk:"protocol"`
	Tags      types.Map         `tfsdk:"tags"`
	TagsAll   types.Map         `tfsdk:"tags_all"`
	UpdatedAt timetypes.RFC3339 `tfsdk:"updated_at"`
}

func (*IpamsvcOptionSpaceModel) Expand

func (m *IpamsvcOptionSpaceModel) Expand(ctx context.Context, diags *diag.Diagnostics, isCreate bool) *ipam.OptionSpace

func (*IpamsvcOptionSpaceModel) Flatten

func (m *IpamsvcOptionSpaceModel) Flatten(ctx context.Context, from *ipam.OptionSpace, diags *diag.Diagnostics)

type IpamsvcOptionSpaceModelWithFilter

type IpamsvcOptionSpaceModelWithFilter struct {
	Filters    types.Map  `tfsdk:"filters"`
	TagFilters types.Map  `tfsdk:"tag_filters"`
	Results    types.List `tfsdk:"results"`
}

func (*IpamsvcOptionSpaceModelWithFilter) FlattenResults

func (m *IpamsvcOptionSpaceModelWithFilter) FlattenResults(ctx context.Context, from []ipam.OptionSpace, diags *diag.Diagnostics)

type IpamsvcRangeModel

type IpamsvcRangeModel struct {
	Comment                  types.String      `tfsdk:"comment"`
	CompartmentId            types.String      `tfsdk:"compartment_id"`
	CreatedAt                timetypes.RFC3339 `tfsdk:"created_at"`
	DhcpHost                 types.String      `tfsdk:"dhcp_host"`
	DhcpOptions              types.List        `tfsdk:"dhcp_options"`
	DisableDhcp              types.Bool        `tfsdk:"disable_dhcp"`
	End                      types.String      `tfsdk:"end"`
	ExclusionRanges          types.List        `tfsdk:"exclusion_ranges"`
	Filters                  types.List        `tfsdk:"filters"`
	Id                       types.String      `tfsdk:"id"`
	InheritanceAssignedHosts types.List        `tfsdk:"inheritance_assigned_hosts"`
	InheritanceParent        types.String      `tfsdk:"inheritance_parent"`
	InheritanceSources       types.Object      `tfsdk:"inheritance_sources"`
	Name                     types.String      `tfsdk:"name"`
	Parent                   types.String      `tfsdk:"parent"`
	Protocol                 types.String      `tfsdk:"protocol"`
	Space                    types.String      `tfsdk:"space"`
	SpaceName                types.String      `tfsdk:"space_name"`
	Start                    types.String      `tfsdk:"start"`
	Tags                     types.Map         `tfsdk:"tags"`
	TagsAll                  types.Map         `tfsdk:"tags_all"`
	Threshold                types.Object      `tfsdk:"threshold"`
	UpdatedAt                timetypes.RFC3339 `tfsdk:"updated_at"`
	Utilization              types.Object      `tfsdk:"utilization"`
	UtilizationV6            types.Object      `tfsdk:"utilization_v6"`
}

func (*IpamsvcRangeModel) Expand

func (m *IpamsvcRangeModel) Expand(ctx context.Context, diags *diag.Diagnostics, isCreate bool) *ipam.Range

func (*IpamsvcRangeModel) Flatten

func (m *IpamsvcRangeModel) Flatten(ctx context.Context, from *ipam.Range, diags *diag.Diagnostics)

type IpamsvcRangeModelWithFilter

type IpamsvcRangeModelWithFilter struct {
	Filters    types.Map  `tfsdk:"filters"`
	TagFilters types.Map  `tfsdk:"tag_filters"`
	Results    types.List `tfsdk:"results"`
}

func (*IpamsvcRangeModelWithFilter) FlattenResults

func (m *IpamsvcRangeModelWithFilter) FlattenResults(ctx context.Context, from []ipam.Range, diags *diag.Diagnostics)

type IpamsvcServerInheritanceModel

type IpamsvcServerInheritanceModel struct {
	DdnsBlock                       types.Object `tfsdk:"ddns_block"`
	DdnsClientUpdate                types.Object `tfsdk:"ddns_client_update"`
	DdnsConflictResolutionMode      types.Object `tfsdk:"ddns_conflict_resolution_mode"`
	DdnsHostnameBlock               types.Object `tfsdk:"ddns_hostname_block"`
	DdnsTtlPercent                  types.Object `tfsdk:"ddns_ttl_percent"`
	DdnsUpdateOnRenew               types.Object `tfsdk:"ddns_update_on_renew"`
	DdnsUseConflictResolution       types.Object `tfsdk:"ddns_use_conflict_resolution"`
	DhcpConfig                      types.Object `tfsdk:"dhcp_config"`
	DhcpOptions                     types.Object `tfsdk:"dhcp_options"`
	DhcpOptionsV6                   types.Object `tfsdk:"dhcp_options_v6"`
	HeaderOptionFilename            types.Object `tfsdk:"header_option_filename"`
	HeaderOptionServerAddress       types.Object `tfsdk:"header_option_server_address"`
	HeaderOptionServerName          types.Object `tfsdk:"header_option_server_name"`
	HostnameRewriteBlock            types.Object `tfsdk:"hostname_rewrite_block"`
	VendorSpecificOptionOptionSpace types.Object `tfsdk:"vendor_specific_option_option_space"`
}

func (*IpamsvcServerInheritanceModel) Expand

func (*IpamsvcServerInheritanceModel) Flatten

type IpamsvcServerModel

type IpamsvcServerModel struct {
	ClientPrincipal                 types.String      `tfsdk:"client_principal"`
	Comment                         types.String      `tfsdk:"comment"`
	CreatedAt                       timetypes.RFC3339 `tfsdk:"created_at"`
	DdnsClientUpdate                types.String      `tfsdk:"ddns_client_update"`
	DdnsConflictResolutionMode      types.String      `tfsdk:"ddns_conflict_resolution_mode"`
	DdnsDomain                      types.String      `tfsdk:"ddns_domain"`
	DdnsEnabled                     types.Bool        `tfsdk:"ddns_enabled"`
	DdnsGenerateName                types.Bool        `tfsdk:"ddns_generate_name"`
	DdnsGeneratedPrefix             types.String      `tfsdk:"ddns_generated_prefix"`
	DdnsSendUpdates                 types.Bool        `tfsdk:"ddns_send_updates"`
	DdnsTtlPercent                  types.Float64     `tfsdk:"ddns_ttl_percent"`
	DdnsUpdateOnRenew               types.Bool        `tfsdk:"ddns_update_on_renew"`
	DdnsUseConflictResolution       types.Bool        `tfsdk:"ddns_use_conflict_resolution"`
	DdnsZones                       types.List        `tfsdk:"ddns_zones"`
	DhcpConfig                      types.Object      `tfsdk:"dhcp_config"`
	DhcpOptions                     types.List        `tfsdk:"dhcp_options"`
	DhcpOptionsV6                   types.List        `tfsdk:"dhcp_options_v6"`
	GssTsigFallback                 types.Bool        `tfsdk:"gss_tsig_fallback"`
	HeaderOptionFilename            types.String      `tfsdk:"header_option_filename"`
	HeaderOptionServerAddress       types.String      `tfsdk:"header_option_server_address"`
	HeaderOptionServerName          types.String      `tfsdk:"header_option_server_name"`
	HostnameRewriteChar             types.String      `tfsdk:"hostname_rewrite_char"`
	HostnameRewriteEnabled          types.Bool        `tfsdk:"hostname_rewrite_enabled"`
	HostnameRewriteRegex            types.String      `tfsdk:"hostname_rewrite_regex"`
	Id                              types.String      `tfsdk:"id"`
	InheritanceSources              types.Object      `tfsdk:"inheritance_sources"`
	KerberosKdc                     types.String      `tfsdk:"kerberos_kdc"`
	KerberosKeys                    types.List        `tfsdk:"kerberos_keys"`
	KerberosRekeyInterval           types.Int64       `tfsdk:"kerberos_rekey_interval"`
	KerberosRetryInterval           types.Int64       `tfsdk:"kerberos_retry_interval"`
	KerberosTkeyLifetime            types.Int64       `tfsdk:"kerberos_tkey_lifetime"`
	KerberosTkeyProtocol            types.String      `tfsdk:"kerberos_tkey_protocol"`
	Name                            types.String      `tfsdk:"name"`
	ProfileType                     types.String      `tfsdk:"profile_type"`
	ServerPrincipal                 types.String      `tfsdk:"server_principal"`
	Tags                            types.Map         `tfsdk:"tags"`
	TagsAll                         types.Map         `tfsdk:"tags_all"`
	UpdatedAt                       timetypes.RFC3339 `tfsdk:"updated_at"`
	VendorSpecificOptionOptionSpace types.String      `tfsdk:"vendor_specific_option_option_space"`
}

func (*IpamsvcServerModel) Expand

func (m *IpamsvcServerModel) Expand(ctx context.Context, diags *diag.Diagnostics) *ipam.Server

func (*IpamsvcServerModel) Flatten

func (m *IpamsvcServerModel) Flatten(ctx context.Context, from *ipam.Server, diags *diag.Diagnostics)

type IpamsvcServerModelWithFilter

type IpamsvcServerModelWithFilter struct {
	Filters    types.Map  `tfsdk:"filters"`
	TagFilters types.Map  `tfsdk:"tag_filters"`
	Results    types.List `tfsdk:"results"`
}

func (*IpamsvcServerModelWithFilter) FlattenResults

func (m *IpamsvcServerModelWithFilter) FlattenResults(ctx context.Context, from []ipam.Server, diags *diag.Diagnostics)

type IpamsvcSubnetModel

type IpamsvcSubnetModel struct {
	Address                    types.String                     `tfsdk:"address"`
	AsmConfig                  types.Object                     `tfsdk:"asm_config"`
	AsmScopeFlag               types.Int64                      `tfsdk:"asm_scope_flag"`
	Cidr                       types.Int64                      `tfsdk:"cidr"`
	Comment                    types.String                     `tfsdk:"comment"`
	CompartmentId              types.String                     `tfsdk:"compartment_id"`
	ConfigProfiles             types.List                       `tfsdk:"config_profiles"`
	CreatedAt                  timetypes.RFC3339                `tfsdk:"created_at"`
	DdnsClientUpdate           types.String                     `tfsdk:"ddns_client_update"`
	DdnsConflictResolutionMode types.String                     `tfsdk:"ddns_conflict_resolution_mode"`
	DdnsDomain                 types.String                     `tfsdk:"ddns_domain"`
	DdnsGenerateName           types.Bool                       `tfsdk:"ddns_generate_name"`
	DdnsGeneratedPrefix        types.String                     `tfsdk:"ddns_generated_prefix"`
	DdnsSendUpdates            types.Bool                       `tfsdk:"ddns_send_updates"`
	DdnsTtlPercent             types.Float64                    `tfsdk:"ddns_ttl_percent"`
	DdnsUpdateOnRenew          types.Bool                       `tfsdk:"ddns_update_on_renew"`
	DdnsUseConflictResolution  types.Bool                       `tfsdk:"ddns_use_conflict_resolution"`
	Delegation                 types.String                     `tfsdk:"delegation"`
	DhcpConfig                 types.Object                     `tfsdk:"dhcp_config"`
	DhcpHost                   types.String                     `tfsdk:"dhcp_host"`
	DhcpOptions                types.List                       `tfsdk:"dhcp_options"`
	DhcpUtilization            types.Object                     `tfsdk:"dhcp_utilization"`
	DisableDhcp                types.Bool                       `tfsdk:"disable_dhcp"`
	DiscoveryAttrs             types.Map                        `tfsdk:"discovery_attrs"`
	DiscoveryMetadata          types.Map                        `tfsdk:"discovery_metadata"`
	ExternalKeys               types.Map                        `tfsdk:"external_keys"`
	FederatedRealms            internaltypes.UnorderedListValue `tfsdk:"federated_realms"`
	HeaderOptionFilename       types.String                     `tfsdk:"header_option_filename"`
	HeaderOptionServerAddress  types.String                     `tfsdk:"header_option_server_address"`
	HeaderOptionServerName     types.String                     `tfsdk:"header_option_server_name"`
	HostnameRewriteChar        types.String                     `tfsdk:"hostname_rewrite_char"`
	HostnameRewriteEnabled     types.Bool                       `tfsdk:"hostname_rewrite_enabled"`
	HostnameRewriteRegex       types.String                     `tfsdk:"hostname_rewrite_regex"`
	Id                         types.String                     `tfsdk:"id"`
	InheritanceAssignedHosts   types.List                       `tfsdk:"inheritance_assigned_hosts"`
	InheritanceParent          types.String                     `tfsdk:"inheritance_parent"`
	InheritanceSources         types.Object                     `tfsdk:"inheritance_sources"`
	Name                       types.String                     `tfsdk:"name"`
	Parent                     types.String                     `tfsdk:"parent"`
	Protocol                   types.String                     `tfsdk:"protocol"`
	RebindTime                 types.Int64                      `tfsdk:"rebind_time"`
	RenewTime                  types.Int64                      `tfsdk:"renew_time"`
	Space                      types.String                     `tfsdk:"space"`
	Tags                       types.Map                        `tfsdk:"tags"`
	TagsAll                    types.Map                        `tfsdk:"tags_all"`
	Threshold                  types.Object                     `tfsdk:"threshold"`
	UpdatedAt                  timetypes.RFC3339                `tfsdk:"updated_at"`
	Usage                      types.List                       `tfsdk:"usage"`
	Utilization                types.Object                     `tfsdk:"utilization"`
	UtilizationV6              types.Object                     `tfsdk:"utilization_v6"`
	NextAvailableId            types.String                     `tfsdk:"next_available_id"`
}

func (*IpamsvcSubnetModel) Expand

func (m *IpamsvcSubnetModel) Expand(ctx context.Context, diags *diag.Diagnostics, isCreate bool) *ipam.Subnet

func (*IpamsvcSubnetModel) Flatten

func (m *IpamsvcSubnetModel) Flatten(ctx context.Context, from *ipam.Subnet, diags *diag.Diagnostics)

type IpamsvcSubnetModelWithFilter

type IpamsvcSubnetModelWithFilter struct {
	Filters    types.Map  `tfsdk:"filters"`
	TagFilters types.Map  `tfsdk:"tag_filters"`
	Results    types.List `tfsdk:"results"`
}

func (*IpamsvcSubnetModelWithFilter) FlattenResults

func (m *IpamsvcSubnetModelWithFilter) FlattenResults(ctx context.Context, from []ipam.Subnet, diags *diag.Diagnostics)

type IpamsvcTSIGKeyModel

type IpamsvcTSIGKeyModel struct {
	Algorithm    types.String `tfsdk:"algorithm"`
	Comment      types.String `tfsdk:"comment"`
	Key          types.String `tfsdk:"key"`
	Name         types.String `tfsdk:"name"`
	ProtocolName types.String `tfsdk:"protocol_name"`
	Secret       types.String `tfsdk:"secret"`
}

func (*IpamsvcTSIGKeyModel) Expand

func (*IpamsvcTSIGKeyModel) Flatten

func (m *IpamsvcTSIGKeyModel) Flatten(ctx context.Context, from *ipam.TSIGKey, diags *diag.Diagnostics)

type IpamsvcUtilizationModel

type IpamsvcUtilizationModel struct {
	AbandonUtilization types.Int64  `tfsdk:"abandon_utilization"`
	Abandoned          types.String `tfsdk:"abandoned"`
	Dynamic            types.String `tfsdk:"dynamic"`
	Free               types.String `tfsdk:"free"`
	Static             types.String `tfsdk:"static"`
	Total              types.String `tfsdk:"total"`
	Used               types.String `tfsdk:"used"`
	Utilization        types.Int64  `tfsdk:"utilization"`
}

func (*IpamsvcUtilizationModel) Expand

func (*IpamsvcUtilizationModel) Flatten

func (m *IpamsvcUtilizationModel) Flatten(ctx context.Context, from *ipam.Utilization, diags *diag.Diagnostics)

type IpamsvcUtilizationThresholdModel

type IpamsvcUtilizationThresholdModel struct {
	Enabled types.Bool  `tfsdk:"enabled"`
	High    types.Int64 `tfsdk:"high"`
	Low     types.Int64 `tfsdk:"low"`
}

func (*IpamsvcUtilizationThresholdModel) Expand

func (*IpamsvcUtilizationThresholdModel) Flatten

type IpamsvcUtilizationV6Model

type IpamsvcUtilizationV6Model struct {
	Abandoned types.String `tfsdk:"abandoned"`
	Dynamic   types.String `tfsdk:"dynamic"`
	Static    types.String `tfsdk:"static"`
	Total     types.String `tfsdk:"total"`
	Used      types.String `tfsdk:"used"`
}

func (*IpamsvcUtilizationV6Model) Expand

func (*IpamsvcUtilizationV6Model) Flatten

type NextAvailableAddressBlockDataSource added in v1.0.0

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

NextAvailableAddressBlockDataSource defines the data source implementation.

func (*NextAvailableAddressBlockDataSource) Configure added in v1.0.0

func (*NextAvailableAddressBlockDataSource) Metadata added in v1.0.0

func (*NextAvailableAddressBlockDataSource) Read added in v1.0.0

func (*NextAvailableAddressBlockDataSource) Schema added in v1.0.0

type NextAvailableIPDataSource

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

NextAvailableIPDataSource defines the data source implementation.

func (*NextAvailableIPDataSource) Configure

func (*NextAvailableIPDataSource) Metadata

func (*NextAvailableIPDataSource) Read

func (*NextAvailableIPDataSource) Schema

type NextAvailableSubnetDataSource

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

NextAvailableSubnetDataSource defines the data source implementation.

func (*NextAvailableSubnetDataSource) Configure

func (*NextAvailableSubnetDataSource) Metadata

func (*NextAvailableSubnetDataSource) Read

func (*NextAvailableSubnetDataSource) Schema

type OptionCodeDataSource

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

OptionCodeDataSource defines the data source implementation.

func (*OptionCodeDataSource) Configure

func (*OptionCodeDataSource) Metadata

func (*OptionCodeDataSource) Read

func (*OptionCodeDataSource) Schema

type OptionCodeResource

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

OptionCodeResource defines the resource implementation.

func (*OptionCodeResource) Configure

func (*OptionCodeResource) Create

func (*OptionCodeResource) Delete

func (*OptionCodeResource) ImportState

func (*OptionCodeResource) Metadata

func (*OptionCodeResource) Read

func (*OptionCodeResource) Schema

func (*OptionCodeResource) Update

type OptionGroupDataSource

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

OptionGroupDataSource defines the data source implementation.

func (*OptionGroupDataSource) Configure

func (*OptionGroupDataSource) Metadata

func (*OptionGroupDataSource) Read

func (*OptionGroupDataSource) Schema

type OptionGroupResource

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

OptionGroupResource defines the resource implementation.

func (*OptionGroupResource) Configure

func (*OptionGroupResource) Create

func (*OptionGroupResource) Delete

func (*OptionGroupResource) ImportState

func (*OptionGroupResource) Metadata

func (*OptionGroupResource) Read

func (*OptionGroupResource) Schema

func (*OptionGroupResource) Update

type OptionSpaceDataSource

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

OptionSpaceDataSource defines the data source implementation.

func (*OptionSpaceDataSource) Configure

func (*OptionSpaceDataSource) Metadata

func (*OptionSpaceDataSource) Read

func (*OptionSpaceDataSource) Schema

type OptionSpaceResource

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

OptionSpaceResource defines the resource implementation.

func (*OptionSpaceResource) Configure

func (*OptionSpaceResource) Create

func (*OptionSpaceResource) Delete

func (*OptionSpaceResource) ImportState

func (*OptionSpaceResource) Metadata

func (*OptionSpaceResource) Read

func (*OptionSpaceResource) Schema

func (*OptionSpaceResource) Update

type RangeDataSource

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

RangeDataSource defines the data source implementation.

func (*RangeDataSource) Configure

func (*RangeDataSource) Metadata

func (*RangeDataSource) Read

func (*RangeDataSource) Schema

type RangeResource

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

RangeResource defines the resource implementation.

func (*RangeResource) Configure

func (*RangeResource) Create

func (*RangeResource) Delete

func (*RangeResource) ImportState

func (*RangeResource) Metadata

func (*RangeResource) Read

func (*RangeResource) Schema

func (*RangeResource) Update

type ServerDataSource

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

ServerDataSource defines the data source implementation.

func (*ServerDataSource) Configure

func (*ServerDataSource) Metadata

func (*ServerDataSource) Read

func (*ServerDataSource) Schema

type ServerResource

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

ServerResource defines the resource implementation.

func (*ServerResource) Configure

func (*ServerResource) Create

func (*ServerResource) Delete

func (*ServerResource) ImportState

func (*ServerResource) Metadata

func (*ServerResource) Read

func (*ServerResource) Schema

func (*ServerResource) Update

type SubnetDataSource

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

SubnetDataSource defines the data source implementation.

func (*SubnetDataSource) Configure

func (*SubnetDataSource) Metadata

func (*SubnetDataSource) Read

func (*SubnetDataSource) Schema

type SubnetResource

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

SubnetResource defines the resource implementation.

func (*SubnetResource) Configure

func (*SubnetResource) Create

func (*SubnetResource) Delete

func (*SubnetResource) ImportState

func (*SubnetResource) Metadata

func (*SubnetResource) Read

func (*SubnetResource) Schema

func (*SubnetResource) Update

Source Files

Jump to

Keyboard shortcuts

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