Documentation
¶
Index ¶
- type EphemeralApiToken
- type ResourceDatacenterIpLinkAddressingInterfaceAddressing
- func (o *ResourceDatacenterIpLinkAddressingInterfaceAddressing) LoadApiData(_ context.Context, link *apstra.TwoStageL3ClosSubinterfaceLink, ...)
- func (o *ResourceDatacenterIpLinkAddressingInterfaceAddressing) LoadPrivateState(ctx context.Context, ps State, diags *diag.Diagnostics)
- func (o *ResourceDatacenterIpLinkAddressingInterfaceAddressing) SetPrivateState(ctx context.Context, ps State, diags *diag.Diagnostics)
- type ResourceDatacenterIpLinkAddressingInterfaceIds
- func (o *ResourceDatacenterIpLinkAddressingInterfaceIds) LoadApiData(_ context.Context, link *apstra.TwoStageL3ClosSubinterfaceLink, ...)
- func (o *ResourceDatacenterIpLinkAddressingInterfaceIds) LoadPrivateState(ctx context.Context, ps State, diags *diag.Diagnostics)
- func (o *ResourceDatacenterIpLinkAddressingInterfaceIds) SetPrivateState(ctx context.Context, ps State, diags *diag.Diagnostics)
- type State
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type EphemeralApiToken ¶ added in v0.78.0
type EphemeralApiToken struct { Token string `json:"token"` ExpiresAt time.Time `json:"expires_at"` WarnThreshold time.Duration `json:"warn_threshold"` DoNotLogOut bool `json:"do_not_log_out"` }
func (*EphemeralApiToken) LoadPrivateState ¶ added in v0.78.0
func (o *EphemeralApiToken) LoadPrivateState(ctx context.Context, ps State, diags *diag.Diagnostics)
func (*EphemeralApiToken) SetPrivateState ¶ added in v0.78.0
func (o *EphemeralApiToken) SetPrivateState(ctx context.Context, ps State, diags *diag.Diagnostics)
type ResourceDatacenterIpLinkAddressingInterfaceAddressing ¶
type ResourceDatacenterIpLinkAddressingInterfaceAddressing struct { SwitchIpv4 enum.InterfaceNumberingIpv4Type `json:"switch_ipv4"` SwitchIpv6 enum.InterfaceNumberingIpv6Type `json:"switch_ipv6"` GenericIpv4 enum.InterfaceNumberingIpv4Type `json:"generic_ipv4"` GenericIpv6 enum.InterfaceNumberingIpv6Type `json:"generic_ipv6"` }
ResourceDatacenterIpLinkAddressingInterfaceAddressing is stored in private state by ResourceDatacenterIpLinkAddressing.Create(). It is the record of the original numbering scheme on a logical link, and is restored by ResourceDatacenterIpLinkAddressing.Delete()
func (*ResourceDatacenterIpLinkAddressingInterfaceAddressing) LoadApiData ¶
func (o *ResourceDatacenterIpLinkAddressingInterfaceAddressing) LoadApiData(_ context.Context, link *apstra.TwoStageL3ClosSubinterfaceLink, diags *diag.Diagnostics)
func (*ResourceDatacenterIpLinkAddressingInterfaceAddressing) LoadPrivateState ¶
func (o *ResourceDatacenterIpLinkAddressingInterfaceAddressing) LoadPrivateState(ctx context.Context, ps State, diags *diag.Diagnostics)
func (*ResourceDatacenterIpLinkAddressingInterfaceAddressing) SetPrivateState ¶
func (o *ResourceDatacenterIpLinkAddressingInterfaceAddressing) SetPrivateState(ctx context.Context, ps State, diags *diag.Diagnostics)
type ResourceDatacenterIpLinkAddressingInterfaceIds ¶
type ResourceDatacenterIpLinkAddressingInterfaceIds struct { SwitchInterface apstra.ObjectId `json:"switch_interface"` GenericInterface apstra.ObjectId `json:"generic_interface"` }
ResourceDatacenterIpLinkAddressingInterfaceIds contains the logical interfaces associated with a logical link. It turns out that these interface IDs are NOT immutable. The interfaces, along with the logical link are created as a side-effect of associating a CT containing IP Link primitives with a physical switch port. Modifying the CT may cause the logical link and logical interface pair to be replaced. The logical link is indistinguishable from immutable because its ID is constructed by encoding other information. The interfaces, on the other hand, use random IDs, so they may be found to have changed from one run to the next. As a result, this "private data" struct is no longer committed to private state. It's now relegated to merely unpacking the API response via the LoadApiData() method.
func (*ResourceDatacenterIpLinkAddressingInterfaceIds) LoadApiData ¶
func (o *ResourceDatacenterIpLinkAddressingInterfaceIds) LoadApiData(_ context.Context, link *apstra.TwoStageL3ClosSubinterfaceLink, diags *diag.Diagnostics)
func (*ResourceDatacenterIpLinkAddressingInterfaceIds) LoadPrivateState ¶
func (o *ResourceDatacenterIpLinkAddressingInterfaceIds) LoadPrivateState(ctx context.Context, ps State, diags *diag.Diagnostics)
func (*ResourceDatacenterIpLinkAddressingInterfaceIds) SetPrivateState ¶
func (o *ResourceDatacenterIpLinkAddressingInterfaceIds) SetPrivateState(ctx context.Context, ps State, diags *diag.Diagnostics)
type State ¶
type State interface { GetKey(ctx context.Context, key string) ([]byte, diag.Diagnostics) SetKey(ctx context.Context, key string, value []byte) diag.Diagnostics }
State is intended as a stand-in for ProviderData from the not-import-able github.com/hashicorp/terraform-plugin-framework/internal/privatestate package.