anycast

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: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ProtoAnycastConfigAttrTypes = map[string]attr.Type{
	"account_id":           types.Int64Type,
	"anycast_ip_address":   types.StringType,
	"anycast_ipv6_address": types.StringType,
	"created_at":           timetypes.RFC3339Type{},
	"description":          types.StringType,
	"id":                   types.Int64Type,
	"is_configured":        types.BoolType,
	"name":                 types.StringType,
	"onprem_hosts":         types.ListType{ElemType: types.ObjectType{AttrTypes: ProtoOnpremHostRefAttrTypes}},
	"runtime_status":       types.StringType,
	"service":              types.StringType,
	"tags":                 types.MapType{ElemType: types.StringType},
	"tags_all":             types.MapType{ElemType: types.StringType},
	"updated_at":           timetypes.RFC3339Type{},
}
View Source
var ProtoAnycastConfigRefAttrTypes = map[string]attr.Type{
	"anycast_config_name": types.StringType,
	"routing_protocols":   types.ListType{ElemType: types.StringType},
}
View Source
var ProtoAnycastConfigRefResourceSchemaAttributes = map[string]schema.Attribute{
	"anycast_config_name": schema.StringAttribute{
		Required: true,
	},
	"routing_protocols": schema.ListAttribute{
		ElementType:         types.StringType,
		Optional:            true,
		Computed:            true,
		Default:             listdefault.StaticValue(types.ListNull(types.StringType)),
		MarkdownDescription: "Routing protocols enabled for this anycast configuration, on a particular host. Valid protocol names are \"BGP\", \"OSPF\"/\"OSPFv2\", \"OSPFv3\".",
	},
}
View Source
var ProtoAnycastConfigResourceSchemaAttributes = map[string]schema.Attribute{
	"account_id": schema.Int64Attribute{
		Computed:            true,
		MarkdownDescription: "The account identifier.",
	},
	"anycast_ip_address": schema.StringAttribute{
		Required:            true,
		MarkdownDescription: "IPv4 address of the host in string format.",
	},
	"anycast_ipv6_address": schema.StringAttribute{
		Optional:            true,
		MarkdownDescription: "IPv6 address of the host in string format",
	},
	"created_at": schema.StringAttribute{
		CustomType:          timetypes.RFC3339Type{},
		Computed:            true,
		MarkdownDescription: "Time when the object has been created.",
	},
	"description": schema.StringAttribute{
		Optional:            true,
		MarkdownDescription: "The description for the address object. May contain 0 to 1024 characters. Can include UTF-8.",
	},
	"id": schema.Int64Attribute{
		Computed: true,
		PlanModifiers: []planmodifier.Int64{
			int64planmodifier.UseStateForUnknown(),
		},
		MarkdownDescription: "The resource identifier.",
	},
	"is_configured": schema.BoolAttribute{
		Computed: true,
	},
	"name": schema.StringAttribute{
		Required:            true,
		MarkdownDescription: `The name of the anycast configuration.`,
	},
	"onprem_hosts": schema.ListNestedAttribute{
		NestedObject: schema.NestedAttributeObject{
			Attributes: ProtoOnpremHostRefResourceSchemaAttributes,
		},
		Computed: true,
	},
	"runtime_status": schema.StringAttribute{
		Computed: true,
	},
	"service": schema.StringAttribute{
		Required:            true,
		MarkdownDescription: "The type of the Service used in anycast configuration, supports (`dns`, `dhcp`, `dfp`).",
	},
	"tags": schema.MapAttribute{
		ElementType:         types.StringType,
		Optional:            true,
		Computed:            true,
		Default:             mapdefault.StaticValue(types.MapNull(types.StringType)),
		MarkdownDescription: "The tags for the anycast configuration object.",
	},
	"tags_all": schema.MapAttribute{
		ElementType:         types.StringType,
		Computed:            true,
		MarkdownDescription: "The tags for the anycast configuration object, 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 ProtoBgpConfigAttrTypes = map[string]attr.Type{
	"asn":             types.Int64Type,
	"asn_text":        types.StringType,
	"fields":          types.ObjectType{AttrTypes: ProtobufFieldMaskAttrTypes},
	"holddown_secs":   types.Int64Type,
	"keep_alive_secs": types.Int64Type,
	"link_detect":     types.BoolType,
	"neighbors":       types.ListType{ElemType: types.ObjectType{AttrTypes: ProtoBgpNeighborAttrTypes}},
	"preamble":        types.StringType,
}
View Source
var ProtoBgpConfigResourceSchemaAttributes = map[string]schema.Attribute{
	"asn": schema.Int64Attribute{
		Required:            true,
		MarkdownDescription: `Autonomous system number of this BGP/anycast enabled on-prem host.`,
	},
	"asn_text": schema.StringAttribute{
		Computed: true,
		MarkdownDescription: `Autonomous system as text (supported in ASDOT or ASPLAIN format) Optional, requires the asn field to be set to the equivalent integer value of the ASDOT/ASPLAIN string contained in this field or be unset/zero.
		Example:

		| ASDOT       | ASPLAIN     | INTEGER     | VALID/INVALID |
		|-------------|-------------|-------------|---------------|
		| 0.1         | 1           | 1           | Valid         |
		| 1           | 1           | 1           | Valid         |
		| 65535       | 65535       | 65535       | Valid         |
		| 0.65535     | 65535       | 65535       | Valid         |
		| 1.0         | 65536       | 65536       | Valid         |
		| 1.1         | 65537       | 65537       | Valid         |
		| 1.65535     | 131071      | 131071      | Valid         |
		| 65535.0     | 4294901760  | 4294901760  | Valid         |
		| 65535.1     | 4294901761  | 4294901761  | Valid         |
		| 65535.65535 | 4294967295  | 4294967295  | Valid         |
		| 0.65536     |             |             | Invalid       |
		| 65535.655536|             |             | Invalid       |
		| 65536.0     |             |             | Invalid       |
		| 65536.65535 |             |             | Invalid       |
		|             | 4294967296  |             | Invalid       | 
`,
	},
	"fields": schema.SingleNestedAttribute{
		Attributes:          ProtobufFieldMaskResourceSchemaAttributes,
		Optional:            true,
		MarkdownDescription: `Represents a set of symbolic field paths.`,
	},
	"holddown_secs": schema.Int64Attribute{
		Required:            true,
		MarkdownDescription: `BGP route hold-down timer.`,
	},
	"keep_alive_secs": schema.Int64Attribute{
		Optional:            true,
		Computed:            true,
		MarkdownDescription: `BGP keep-alive timer.`,
	},
	"link_detect": schema.BoolAttribute{
		Optional:            true,
		MarkdownDescription: `Enable/disable link detection.`,
	},
	"neighbors": schema.ListNestedAttribute{
		NestedObject: schema.NestedAttributeObject{
			Attributes: ProtoBgpNeighborResourceSchemaAttributes,
		},
		Optional:            true,
		MarkdownDescription: `List of BgpNeighbor structs.`,
	},
	"preamble": schema.StringAttribute{
		Optional:            true,
		MarkdownDescription: "Any predefined BGP configuration, with embedded new lines; the preamble will be prepended to the generated BGP configuration.",
	},
}
View Source
var ProtoBgpNeighborAttrTypes = map[string]attr.Type{
	"asn":           types.Int64Type,
	"asn_text":      types.StringType,
	"ip_address":    types.StringType,
	"max_hop_count": types.Int64Type,
	"multihop":      types.BoolType,
	"password":      types.StringType,
}
View Source
var ProtoBgpNeighborResourceSchemaAttributes = map[string]schema.Attribute{
	"asn": schema.Int64Attribute{
		Required:            true,
		MarkdownDescription: `Autonomous system number of this BGP/anycast enabled on-prem host.`,
	},
	"asn_text": schema.StringAttribute{
		Computed: true,
		Optional: true,
		MarkdownDescription: `Autonomous system as text (supported in ASDOT or ASPLAIN format) Optional, requires the asn field to be set to the equivalent integer value of the ASDOT/ASPLAIN string contained in this field or be unset/zero.
		Example:

		| ASDOT       | ASPLAIN     | INTEGER     | VALID/INVALID |
		|-------------|-------------|-------------|---------------|
		| 0.1         | 1           | 1           | Valid         |
		| 1           | 1           | 1           | Valid         |
		| 65535       | 65535       | 65535       | Valid         |
		| 0.65535     | 65535       | 65535       | Valid         |
		| 1.0         | 65536       | 65536       | Valid         |
		| 1.1         | 65537       | 65537       | Valid         |
		| 1.65535     | 131071      | 131071      | Valid         |
		| 65535.0     | 4294901760  | 4294901760  | Valid         |
		| 65535.1     | 4294901761  | 4294901761  | Valid         |
		| 65535.65535 | 4294967295  | 4294967295  | Valid         |
		| 0.65536     |             |             | Invalid       |
		| 65535.655536|             |             | Invalid       |
		| 65536.0     |             |             | Invalid       |
		| 65536.65535 |             |             | Invalid       |
		|             | 4294967296  |             | Invalid       | 
`,
	},
	"ip_address": schema.StringAttribute{
		Optional:            true,
		MarkdownDescription: "IPv4 address of the BGP neighbor",
	},
	"max_hop_count": schema.Int64Attribute{
		Optional:            true,
		MarkdownDescription: `Max hop count, if BGP multihop is enabled.`,
	},
	"multihop": schema.BoolAttribute{
		Optional:            true,
		MarkdownDescription: `BGP multihop enabled or not.`,
	},
	"password": schema.StringAttribute{
		Optional:            true,
		MarkdownDescription: `BGP protocol access password for this BGP neighbor, max 25 characters long.`,
	},
}
View Source
var ProtoOnpremHostRefAttrTypes = map[string]attr.Type{
	"id":             types.Int64Type,
	"ip_address":     types.StringType,
	"ipv6_address":   types.StringType,
	"name":           types.StringType,
	"ophid":          types.StringType,
	"runtime_status": types.StringType,
}
View Source
var ProtoOnpremHostRefResourceSchemaAttributes = map[string]schema.Attribute{
	"id": schema.Int64Attribute{
		Required: true,
		PlanModifiers: []planmodifier.Int64{
			int64planmodifier.UseStateForUnknown(),
		},
		MarkdownDescription: "The resource identifier.",
	},
	"ip_address": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "IPv4 address of the host in string format",
	},
	"ipv6_address": schema.StringAttribute{
		Optional:            true,
		Computed:            true,
		MarkdownDescription: "IPv6 address of the host in string format",
	},
	"name": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: `The name of the anycast.`,
	},
	"ophid": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "Unique 32-character string identifier assigned to the host",
	},
	"runtime_status": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "The runtime status of the host",
	},
}
View Source
var ProtoOnpremHostResourceSchemaAttributes = map[string]schema.Attribute{
	"anycast_config_refs": schema.ListNestedAttribute{
		CustomType: internaltypes.UnorderedList{ListType: basetypes.ListType{ElemType: basetypes.ObjectType{AttrTypes: ProtoAnycastConfigRefAttrTypes}}},
		NestedObject: schema.NestedAttributeObject{
			Attributes: ProtoAnycastConfigRefResourceSchemaAttributes,
		},
		Optional:            true,
		MarkdownDescription: `Array of AnycastConfigRef structures, identifying the anycast configurations that this host is a member of.`,
	},
	"config_bgp": schema.SingleNestedAttribute{
		Attributes:          ProtoBgpConfigResourceSchemaAttributes,
		Optional:            true,
		MarkdownDescription: `Struct BGP configuration; defines BGP configuration for one anycast-enabled on-prem host.`,
	},
	"config_ospf": schema.SingleNestedAttribute{
		Attributes:          ProtoOspfConfigResourceSchemaAttributes,
		Optional:            true,
		MarkdownDescription: `Struct OSPF configuration; defines OSPF configuration for one anycast-enabled on-prem host.`,
	},
	"config_ospfv3": schema.SingleNestedAttribute{
		Attributes:          ProtoOspfv3ConfigResourceSchemaAttributes,
		Optional:            true,
		MarkdownDescription: `Struct OSPFv3 configuration; defines OSPFv3 configuration for one anycast-enabled on-prem host.`,
	},
	"created_at": schema.StringAttribute{
		CustomType:          timetypes.RFC3339Type{},
		Computed:            true,
		MarkdownDescription: `Date/time this host was created in anycast service database.`,
	},
	"id": schema.Int64Attribute{
		Required: true,
		PlanModifiers: []planmodifier.Int64{
			int64planmodifier.UseStateForUnknown(),
		},
		MarkdownDescription: `Numeric host identifier.`,
	},
	"ip_address": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "IPv4 address of the on-prem host",
	},
	"ipv6_address": schema.StringAttribute{
		Computed:            true,
		MarkdownDescription: "IPv6 address of the on-prem host",
	},
	"name": schema.StringAttribute{
		Computed: true,
		PlanModifiers: []planmodifier.String{
			stringplanmodifier.UseStateForUnknown(),
		},
		MarkdownDescription: `User-friendly name of the host @example "dns-host-1", "Central Office Server".`,
	},
	"updated_at": schema.StringAttribute{
		CustomType:          timetypes.RFC3339Type{},
		Computed:            true,
		MarkdownDescription: `Date/time this host was last updated in anycast service database.`,
	},
}
View Source
var ProtoOspfConfigAttrTypes = map[string]attr.Type{
	"area":                  types.StringType,
	"area_type":             types.StringType,
	"authentication_key":    types.StringType,
	"authentication_key_id": types.Int64Type,
	"authentication_type":   types.StringType,
	"cost":                  types.Int64Type,
	"dead_interval":         types.Int64Type,
	"hello_interval":        types.Int64Type,
	"interface":             types.StringType,
	"preamble":              types.StringType,
	"retransmit_interval":   types.Int64Type,
	"transmit_delay":        types.Int64Type,
}
View Source
var ProtoOspfConfigResourceSchemaAttributes = map[string]schema.Attribute{
	"area": schema.StringAttribute{
		Optional:            true,
		MarkdownDescription: "OSPF area identifier; usually in the format of an IPv4 address (although not an address itself)",
	},
	"area_type": schema.StringAttribute{
		Optional:            true,
		MarkdownDescription: `OSPF area type; one of: "STANDARD", "STUB", "NSSA".`,
	},
	"authentication_key": schema.StringAttribute{
		Optional:            true,
		MarkdownDescription: `OSPF authentication key.`,
	},
	"authentication_key_id": schema.Int64Attribute{
		Optional:            true,
		MarkdownDescription: `title: Numeric OSPF authentication key identifier.`,
	},
	"authentication_type": schema.StringAttribute{
		Optional:            true,
		MarkdownDescription: `OSPF authentication type; one of "Clear", "MD5".`,
	},
	"cost": schema.Int64Attribute{
		Optional:            true,
		MarkdownDescription: `Explicit link cost for the interface.`,
	},
	"dead_interval": schema.Int64Attribute{
		Optional:            true,
		MarkdownDescription: `OSPF router dead interval timer in seconds; must be the same for all the routers on the same network; default: 40 secs.`,
	},
	"hello_interval": schema.Int64Attribute{
		Optional:            true,
		MarkdownDescription: `Period (in seconds) of OSPF Hello packet, sent by the OSPF router; must be the same for all the routers on the same network; default: 10 secs.`,
	},
	"interface": schema.StringAttribute{
		Optional:            true,
		MarkdownDescription: "Name of the interface that is configured with external IP address of the host",
	},
	"preamble": schema.StringAttribute{
		Optional:            true,
		MarkdownDescription: "Any predefined OSPF configuration, with embedded new lines; the preamble will be prepended to the generated BGP configuration.",
	},
	"retransmit_interval": schema.Int64Attribute{
		Optional:            true,
		MarkdownDescription: `Period (in seconds) of retransmitting for OSPF Database Description and Link State Requests; default: 5 seconds.`,
	},
	"transmit_delay": schema.Int64Attribute{
		Optional:            true,
		MarkdownDescription: `Estimated time to transmit link state advertisements; default: 1 sec.`,
	},
}
View Source
var ProtoOspfv3ConfigAttrTypes = map[string]attr.Type{
	"area":                types.StringType,
	"cost":                types.Int64Type,
	"dead_interval":       types.Int64Type,
	"hello_interval":      types.Int64Type,
	"interface":           types.StringType,
	"retransmit_interval": types.Int64Type,
	"transmit_delay":      types.Int64Type,
}
View Source
var ProtoOspfv3ConfigResourceSchemaAttributes = map[string]schema.Attribute{
	"area": schema.StringAttribute{
		Optional:            true,
		MarkdownDescription: "OSPF area identifier; usually in the format of an IPv4 address (although not an address itself)",
	},
	"cost": schema.Int64Attribute{
		Optional:            true,
		MarkdownDescription: `Explicit link cost for the interface.`,
	},
	"dead_interval": schema.Int64Attribute{
		Optional:            true,
		MarkdownDescription: `OSPF router dead interval timer in seconds; must be the same for all the routers on the same network; default: 40 sec.`,
	},
	"hello_interval": schema.Int64Attribute{
		Optional:            true,
		MarkdownDescription: `Period (in seconds) of OSPF Hello packet, sent by the OSPF router; must be the same for all the routers on the same network; default: 10 secs.`,
	},
	"interface": schema.StringAttribute{
		Optional:            true,
		MarkdownDescription: "Name of the interface that is configured with external IP address of the host",
	},
	"retransmit_interval": schema.Int64Attribute{
		Optional:            true,
		MarkdownDescription: `Period (in seconds) of retransmitting for OSPF Database Description and Link State Requests; default: 5 seconds.`,
	},
	"transmit_delay": schema.Int64Attribute{
		Optional:            true,
		MarkdownDescription: `Estimated time to transmit link state advertisements; default: 1 sec.`,
	},
}
View Source
var ProtobufFieldMaskAttrTypes = map[string]attr.Type{
	"paths": types.ListType{ElemType: types.StringType},
}
View Source
var ProtobufFieldMaskResourceSchemaAttributes = map[string]schema.Attribute{
	"paths": schema.ListAttribute{
		ElementType:         types.StringType,
		Optional:            true,
		MarkdownDescription: "The set of field mask paths.",
	},
}

Functions

func DataSourceFlattenProtoAnycastConfig added in v1.3.0

func DataSourceFlattenProtoAnycastConfig(ctx context.Context, from *anycast.AnycastConfig, diags *diag.Diagnostics) types.Object

func ExpandProtoAnycastConfig

func ExpandProtoAnycastConfig(ctx context.Context, o types.Object, diags *diag.Diagnostics) *anycast.AnycastConfig

func ExpandProtoAnycastConfigRef

func ExpandProtoAnycastConfigRef(ctx context.Context, o types.Object, diags *diag.Diagnostics) *anycast.AnycastConfigRef

func ExpandProtoBgpConfig

func ExpandProtoBgpConfig(ctx context.Context, o types.Object, diags *diag.Diagnostics) *anycast.BgpConfig

func ExpandProtoBgpNeighbor

func ExpandProtoBgpNeighbor(ctx context.Context, o types.Object, diags *diag.Diagnostics) *anycast.BgpNeighbor

func ExpandProtoOnpremHostRef

func ExpandProtoOnpremHostRef(ctx context.Context, o types.Object, diags *diag.Diagnostics) *anycast.OnpremHostRef

func ExpandProtoOspfConfig

func ExpandProtoOspfConfig(ctx context.Context, o types.Object, diags *diag.Diagnostics) *anycast.OspfConfig

func ExpandProtoOspfv3Config

func ExpandProtoOspfv3Config(ctx context.Context, o types.Object, diags *diag.Diagnostics) *anycast.Ospfv3Config

func ExpandProtobufFieldMask

func ExpandProtobufFieldMask(ctx context.Context, o types.Object, diags *diag.Diagnostics) *anycast.ProtobufFieldMask

func FlattenProtoAnycastConfigRef

func FlattenProtoAnycastConfigRef(ctx context.Context, from *anycast.AnycastConfigRef, diags *diag.Diagnostics) types.Object

func FlattenProtoBgpConfig

func FlattenProtoBgpConfig(ctx context.Context, from *anycast.BgpConfig, diags *diag.Diagnostics) types.Object

func FlattenProtoBgpNeighbor

func FlattenProtoBgpNeighbor(ctx context.Context, from *anycast.BgpNeighbor, diags *diag.Diagnostics) types.Object

func FlattenProtoOnpremHostRef

func FlattenProtoOnpremHostRef(ctx context.Context, from *anycast.OnpremHostRef, diags *diag.Diagnostics) types.Object

func FlattenProtoOspfConfig

func FlattenProtoOspfConfig(ctx context.Context, from *anycast.OspfConfig, diags *diag.Diagnostics) types.Object

func FlattenProtoOspfv3Config

func FlattenProtoOspfv3Config(ctx context.Context, from *anycast.Ospfv3Config, diags *diag.Diagnostics) types.Object

func FlattenProtobufFieldMask

func FlattenProtobufFieldMask(ctx context.Context, from *anycast.ProtobufFieldMask, diags *diag.Diagnostics) types.Object

func NewAnycastConfigDataSource

func NewAnycastConfigDataSource() datasource.DataSource

func NewAnycastConfigResource

func NewAnycastConfigResource() resource.Resource

func NewAnycastHostResource

func NewAnycastHostResource() resource.Resource

Types

type AnycastConfigDataSource

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

AnycastConfigDataSource defines the data source implementation.

func (*AnycastConfigDataSource) Configure

func (*AnycastConfigDataSource) Metadata

func (*AnycastConfigDataSource) Read

func (*AnycastConfigDataSource) Schema

type AnycastHostResource

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

OnPremAnycastManagerResource defines the resource implementation.

func (*AnycastHostResource) Configure

func (*AnycastHostResource) Create

func (*AnycastHostResource) Delete

func (*AnycastHostResource) ImportState

func (*AnycastHostResource) Metadata

func (*AnycastHostResource) Read

func (*AnycastHostResource) Schema

func (*AnycastHostResource) Update

type OnPremAnycastManagerResource

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

OnPremAnycastManagerResource defines the resource implementation.

func (*OnPremAnycastManagerResource) Configure

func (*OnPremAnycastManagerResource) Create

func (*OnPremAnycastManagerResource) Delete

func (*OnPremAnycastManagerResource) ImportState

func (*OnPremAnycastManagerResource) Metadata

func (*OnPremAnycastManagerResource) Read

func (*OnPremAnycastManagerResource) Schema

func (*OnPremAnycastManagerResource) Update

type ProtoAnycastConfigModel

type ProtoAnycastConfigModel struct {
	AccountId          types.Int64       `tfsdk:"account_id"`
	AnycastIpAddress   types.String      `tfsdk:"anycast_ip_address"`
	AnycastIpv6Address types.String      `tfsdk:"anycast_ipv6_address"`
	CreatedAt          timetypes.RFC3339 `tfsdk:"created_at"`
	Description        types.String      `tfsdk:"description"`
	Id                 types.Int64       `tfsdk:"id"`
	IsConfigured       types.Bool        `tfsdk:"is_configured"`
	Name               types.String      `tfsdk:"name"`
	OnpremHosts        types.List        `tfsdk:"onprem_hosts"`
	RuntimeStatus      types.String      `tfsdk:"runtime_status"`
	Service            types.String      `tfsdk:"service"`
	Tags               types.Map         `tfsdk:"tags"`
	TagsAll            types.Map         `tfsdk:"tags_all"`
	UpdatedAt          timetypes.RFC3339 `tfsdk:"updated_at"`
}

func (*ProtoAnycastConfigModel) Expand

func (*ProtoAnycastConfigModel) Flatten

type ProtoAnycastConfigModelWithFilter

type ProtoAnycastConfigModelWithFilter struct {
	Filters      types.Map    `tfsdk:"filters"` //todo : remove this
	TagFilters   types.Map    `tfsdk:"tag_filters"`
	Results      types.List   `tfsdk:"results"`
	Service      types.String `tfsdk:"service"`
	HostID       types.Int64  `tfsdk:"host_id"`
	IsConfigured types.Bool   `tfsdk:"is_configured"`
}

func (*ProtoAnycastConfigModelWithFilter) FlattenResults

type ProtoAnycastConfigRefModel

type ProtoAnycastConfigRefModel struct {
	AnycastConfigName types.String `tfsdk:"anycast_config_name"`
	RoutingProtocols  types.List   `tfsdk:"routing_protocols"`
}

func (*ProtoAnycastConfigRefModel) Expand

func (*ProtoAnycastConfigRefModel) Flatten

type ProtoBgpConfigModel

type ProtoBgpConfigModel struct {
	Asn           types.Int64  `tfsdk:"asn"`
	AsnText       types.String `tfsdk:"asn_text"`
	Fields        types.Object `tfsdk:"fields"`
	HolddownSecs  types.Int64  `tfsdk:"holddown_secs"`
	KeepAliveSecs types.Int64  `tfsdk:"keep_alive_secs"`
	LinkDetect    types.Bool   `tfsdk:"link_detect"`
	Neighbors     types.List   `tfsdk:"neighbors"`
	Preamble      types.String `tfsdk:"preamble"`
}

func (*ProtoBgpConfigModel) Expand

func (*ProtoBgpConfigModel) Flatten

func (m *ProtoBgpConfigModel) Flatten(ctx context.Context, from *anycast.BgpConfig, diags *diag.Diagnostics)

type ProtoBgpNeighborModel

type ProtoBgpNeighborModel struct {
	Asn         types.Int64  `tfsdk:"asn"`
	AsnText     types.String `tfsdk:"asn_text"`
	IpAddress   types.String `tfsdk:"ip_address"`
	MaxHopCount types.Int64  `tfsdk:"max_hop_count"`
	Multihop    types.Bool   `tfsdk:"multihop"`
	Password    types.String `tfsdk:"password"`
}

func (*ProtoBgpNeighborModel) Expand

func (*ProtoBgpNeighborModel) Flatten

func (m *ProtoBgpNeighborModel) Flatten(ctx context.Context, from *anycast.BgpNeighbor, diags *diag.Diagnostics)

type ProtoOnpremHostModel

type ProtoOnpremHostModel struct {
	AnycastConfigRefs internaltypes.UnorderedListValue `tfsdk:"anycast_config_refs"`
	ConfigBgp         types.Object                     `tfsdk:"config_bgp"`
	ConfigOspf        types.Object                     `tfsdk:"config_ospf"`
	ConfigOspfv3      types.Object                     `tfsdk:"config_ospfv3"`
	CreatedAt         timetypes.RFC3339                `tfsdk:"created_at"`
	Id                types.Int64                      `tfsdk:"id"`
	IpAddress         types.String                     `tfsdk:"ip_address"`
	Ipv6Address       types.String                     `tfsdk:"ipv6_address"`
	Name              types.String                     `tfsdk:"name"`
	UpdatedAt         timetypes.RFC3339                `tfsdk:"updated_at"`
}

func (*ProtoOnpremHostModel) Expand

func (*ProtoOnpremHostModel) Flatten

func (m *ProtoOnpremHostModel) Flatten(ctx context.Context, from *anycast.OnpremHost, diags *diag.Diagnostics)

type ProtoOnpremHostRefModel

type ProtoOnpremHostRefModel struct {
	Id            types.Int64  `tfsdk:"id"`
	IpAddress     types.String `tfsdk:"ip_address"`
	Ipv6Address   types.String `tfsdk:"ipv6_address"`
	Name          types.String `tfsdk:"name"`
	Ophid         types.String `tfsdk:"ophid"`
	RuntimeStatus types.String `tfsdk:"runtime_status"`
}

func (*ProtoOnpremHostRefModel) Expand

func (*ProtoOnpremHostRefModel) Flatten

type ProtoOspfConfigModel

type ProtoOspfConfigModel struct {
	Area                types.String `tfsdk:"area"`
	AreaType            types.String `tfsdk:"area_type"`
	AuthenticationKey   types.String `tfsdk:"authentication_key"`
	AuthenticationKeyId types.Int64  `tfsdk:"authentication_key_id"`
	AuthenticationType  types.String `tfsdk:"authentication_type"`
	Cost                types.Int64  `tfsdk:"cost"`
	DeadInterval        types.Int64  `tfsdk:"dead_interval"`
	HelloInterval       types.Int64  `tfsdk:"hello_interval"`
	Interface           types.String `tfsdk:"interface"`
	Preamble            types.String `tfsdk:"preamble"`
	RetransmitInterval  types.Int64  `tfsdk:"retransmit_interval"`
	TransmitDelay       types.Int64  `tfsdk:"transmit_delay"`
}

func (*ProtoOspfConfigModel) Expand

func (*ProtoOspfConfigModel) Flatten

func (m *ProtoOspfConfigModel) Flatten(ctx context.Context, from *anycast.OspfConfig, diags *diag.Diagnostics)

type ProtoOspfv3ConfigModel

type ProtoOspfv3ConfigModel struct {
	Area               types.String `tfsdk:"area"`
	Cost               types.Int64  `tfsdk:"cost"`
	DeadInterval       types.Int64  `tfsdk:"dead_interval"`
	HelloInterval      types.Int64  `tfsdk:"hello_interval"`
	Interface          types.String `tfsdk:"interface"`
	RetransmitInterval types.Int64  `tfsdk:"retransmit_interval"`
	TransmitDelay      types.Int64  `tfsdk:"transmit_delay"`
}

func (*ProtoOspfv3ConfigModel) Expand

func (*ProtoOspfv3ConfigModel) Flatten

type ProtobufFieldMaskModel

type ProtobufFieldMaskModel struct {
	Paths types.List `tfsdk:"paths"`
}

func (*ProtobufFieldMaskModel) Expand

func (*ProtobufFieldMaskModel) Flatten

Jump to

Keyboard shortcuts

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