Documentation ¶
Index ¶
- Constants
- type ACLInfo
- type ACLsClient
- type AuthenticationReq
- type ComputeClient
- func (c *ComputeClient) ACLs() *ACLsClient
- func (c *ComputeClient) IPAddressAssociations() *IPAddressAssociationsClient
- func (c *ComputeClient) IPAddressPrefixSets() *IPAddressPrefixSetsClient
- func (c *ComputeClient) IPAddressReservations() *IPAddressReservationsClient
- func (c *ComputeClient) IPAssociations() *IPAssociationsClient
- func (c *ComputeClient) IPNetworkExchanges() *IPNetworkExchangesClient
- func (c *ComputeClient) IPNetworks() *IPNetworksClient
- func (c *ComputeClient) IPReservations() *IPReservationsClient
- func (c *ComputeClient) ImageList() *ImageListClient
- func (c *ComputeClient) ImageListEntries() *ImageListEntriesClient
- func (c *ComputeClient) Instances() *InstancesClient
- func (c *ComputeClient) MachineImages() *MachineImagesClient
- func (c *ComputeClient) Routes() *RoutesClient
- func (c *ComputeClient) SSHKeys() *SSHKeysClient
- func (c *ComputeClient) SecRules() *SecRulesClient
- func (c *ComputeClient) SecurityApplications() *SecurityApplicationsClient
- func (c *ComputeClient) SecurityAssociations() *SecurityAssociationsClient
- func (c *ComputeClient) SecurityIPLists() *SecurityIPListsClient
- func (c *ComputeClient) SecurityLists() *SecurityListsClient
- func (c *ComputeClient) SecurityProtocols() *SecurityProtocolsClient
- func (c *ComputeClient) SecurityRules() *SecurityRuleClient
- func (c *ComputeClient) Snapshots() *SnapshotsClient
- func (c *ComputeClient) StorageAttachments() *StorageAttachmentsClient
- func (c *ComputeClient) StorageVolumeSnapshots() *StorageVolumeSnapshotClient
- func (c *ComputeClient) StorageVolumes() *StorageVolumeClient
- func (c *ComputeClient) VirtNICSets() *VirtNICSetsClient
- func (c *ComputeClient) VirtNICs() *VirtNICsClient
- type CreateACLInput
- type CreateIPAddressAssociationInput
- type CreateIPAddressPrefixSetInput
- type CreateIPAddressReservationInput
- type CreateIPAssociationInput
- type CreateIPNetworkExchangeInput
- type CreateIPNetworkInput
- type CreateIPReservationInput
- type CreateImageListEntryInput
- type CreateImageListInput
- type CreateInstanceInput
- type CreateRouteInput
- type CreateSSHKeyInput
- type CreateSecRuleInput
- type CreateSecurityApplicationInput
- type CreateSecurityAssociationInput
- type CreateSecurityIPListInput
- type CreateSecurityListInput
- type CreateSecurityProtocolInput
- type CreateSecurityRuleInput
- type CreateSnapshotInput
- type CreateStorageAttachmentInput
- type CreateStorageVolumeInput
- type CreateStorageVolumeSnapshotInput
- type CreateVirtualNICSetInput
- type DeleteACLInput
- type DeleteIPAddressAssociationInput
- type DeleteIPAddressPrefixSetInput
- type DeleteIPAddressReservationInput
- type DeleteIPAssociationInput
- type DeleteIPNetworkExchangeInput
- type DeleteIPNetworkInput
- type DeleteIPReservationInput
- type DeleteImageListEntryInput
- type DeleteImageListInput
- type DeleteInstanceInput
- type DeleteMachineImageInput
- type DeleteRouteInput
- type DeleteSSHKeyInput
- type DeleteSecRuleInput
- type DeleteSecurityApplicationInput
- type DeleteSecurityAssociationInput
- type DeleteSecurityIPListInput
- type DeleteSecurityListInput
- type DeleteSecurityProtocolInput
- type DeleteSecurityRuleInput
- type DeleteSnapshotInput
- type DeleteStorageAttachmentInput
- type DeleteStorageVolumeInput
- type DeleteStorageVolumeSnapshotInput
- type DeleteVirtualNICSetInput
- type GetACLInput
- type GetIPAddressAssociationInput
- type GetIPAddressPrefixSetInput
- type GetIPAddressReservationInput
- type GetIPAssociationInput
- type GetIPNetworkExchangeInput
- type GetIPNetworkInput
- type GetIPReservationInput
- type GetImageListEntryInput
- type GetImageListInput
- type GetInstanceInput
- type GetRouteInput
- type GetSSHKeyInput
- type GetSecRuleInput
- type GetSecurityApplicationInput
- type GetSecurityAssociationInput
- type GetSecurityIPListInput
- type GetSecurityListInput
- type GetSecurityProtocolInput
- type GetSecurityRuleInput
- type GetSnapshotInput
- type GetStorageAttachmentInput
- type GetStorageVolumeInput
- type GetStorageVolumeSnapshotInput
- type GetVirtualNICInput
- type GetVirtualNICSetInput
- type IPAddressAssociationInfo
- type IPAddressAssociationsClient
- func (c *IPAddressAssociationsClient) CreateIPAddressAssociation(input *CreateIPAddressAssociationInput) (*IPAddressAssociationInfo, error)
- func (c *IPAddressAssociationsClient) DeleteIPAddressAssociation(input *DeleteIPAddressAssociationInput) error
- func (c *IPAddressAssociationsClient) GetIPAddressAssociation(input *GetIPAddressAssociationInput) (*IPAddressAssociationInfo, error)
- func (c *IPAddressAssociationsClient) UpdateIPAddressAssociation(updateInput *UpdateIPAddressAssociationInput) (*IPAddressAssociationInfo, error)
- type IPAddressPrefixSetInfo
- type IPAddressPrefixSetsClient
- func (c *IPAddressPrefixSetsClient) CreateIPAddressPrefixSet(input *CreateIPAddressPrefixSetInput) (*IPAddressPrefixSetInfo, error)
- func (c *IPAddressPrefixSetsClient) DeleteIPAddressPrefixSet(input *DeleteIPAddressPrefixSetInput) error
- func (c *IPAddressPrefixSetsClient) GetIPAddressPrefixSet(input *GetIPAddressPrefixSetInput) (*IPAddressPrefixSetInfo, error)
- func (c *IPAddressPrefixSetsClient) UpdateIPAddressPrefixSet(updateInput *UpdateIPAddressPrefixSetInput) (*IPAddressPrefixSetInfo, error)
- type IPAddressReservation
- type IPAddressReservationsClient
- func (c *IPAddressReservationsClient) CreateIPAddressReservation(input *CreateIPAddressReservationInput) (*IPAddressReservation, error)
- func (c *IPAddressReservationsClient) DeleteIPAddressReservation(input *DeleteIPAddressReservationInput) error
- func (c *IPAddressReservationsClient) GetIPAddressReservation(input *GetIPAddressReservationInput) (*IPAddressReservation, error)
- func (c *IPAddressReservationsClient) UpdateIPAddressReservation(input *UpdateIPAddressReservationInput) (*IPAddressReservation, error)
- type IPAssociationInfo
- type IPAssociationsClient
- func (c *IPAssociationsClient) CreateIPAssociation(input *CreateIPAssociationInput) (*IPAssociationInfo, error)
- func (c *IPAssociationsClient) DeleteIPAssociation(input *DeleteIPAssociationInput) error
- func (c *IPAssociationsClient) GetIPAssociation(input *GetIPAssociationInput) (*IPAssociationInfo, error)
- type IPNetworkExchangeInfo
- type IPNetworkExchangesClient
- func (c *IPNetworkExchangesClient) CreateIPNetworkExchange(input *CreateIPNetworkExchangeInput) (*IPNetworkExchangeInfo, error)
- func (c *IPNetworkExchangesClient) DeleteIPNetworkExchange(input *DeleteIPNetworkExchangeInput) error
- func (c *IPNetworkExchangesClient) GetIPNetworkExchange(input *GetIPNetworkExchangeInput) (*IPNetworkExchangeInfo, error)
- type IPNetworkInfo
- type IPNetworksClient
- func (c *IPNetworksClient) CreateIPNetwork(input *CreateIPNetworkInput) (*IPNetworkInfo, error)
- func (c *IPNetworksClient) DeleteIPNetwork(input *DeleteIPNetworkInput) error
- func (c *IPNetworksClient) GetIPNetwork(input *GetIPNetworkInput) (*IPNetworkInfo, error)
- func (c *IPNetworksClient) UpdateIPNetwork(input *UpdateIPNetworkInput) (*IPNetworkInfo, error)
- type IPReservation
- type IPReservationPool
- type IPReservationsClient
- func (c *IPReservationsClient) CreateIPReservation(input *CreateIPReservationInput) (*IPReservation, error)
- func (c *IPReservationsClient) DeleteIPReservation(input *DeleteIPReservationInput) error
- func (c *IPReservationsClient) GetIPReservation(input *GetIPReservationInput) (*IPReservation, error)
- func (c *IPReservationsClient) UpdateIPReservation(input *UpdateIPReservationInput) (*IPReservation, error)
- type ImageList
- type ImageListClient
- func (c *ImageListClient) CreateImageList(createInput *CreateImageListInput) (*ImageList, error)
- func (c *ImageListClient) DeleteImageList(deleteInput *DeleteImageListInput) error
- func (c *ImageListClient) GetImageList(getInput *GetImageListInput) (*ImageList, error)
- func (c *ImageListClient) UpdateImageList(updateInput *UpdateImageListInput) (*ImageList, error)
- type ImageListEntriesClient
- func (c *ImageListEntriesClient) CreateImageListEntry(input *CreateImageListEntryInput) (*ImageListEntryInfo, error)
- func (c *ImageListEntriesClient) DeleteImageListEntry(input *DeleteImageListEntryInput) error
- func (c *ImageListEntriesClient) GetImageListEntry(input *GetImageListEntryInput) (*ImageListEntryInfo, error)
- type ImageListEntry
- type ImageListEntryInfo
- type InstanceDesiredState
- type InstanceInfo
- type InstanceState
- type InstancesClient
- func (c *InstancesClient) CreateInstance(input *CreateInstanceInput) (*InstanceInfo, error)
- func (c *InstancesClient) DeleteInstance(input *DeleteInstanceInput) error
- func (c *InstancesClient) GetInstance(input *GetInstanceInput) (*InstanceInfo, error)
- func (c *InstancesClient) UpdateInstance(input *UpdateInstanceInput) (*InstanceInfo, error)
- func (c *InstancesClient) WaitForInstanceDeleted(input *DeleteInstanceInput, timeout time.Duration) error
- func (c *InstancesClient) WaitForInstanceRunning(input *GetInstanceInput, timeout time.Duration) (*InstanceInfo, error)
- func (c *InstancesClient) WaitForInstanceShutdown(input *GetInstanceInput, timeout time.Duration) (*InstanceInfo, error)
- type LaunchPlanInput
- type LaunchPlanResponse
- type MachineImagesClient
- type NICModel
- type NetworkingInfo
- type ResourceClient
- type RouteInfo
- type RoutesClient
- type SSHKey
- type SSHKeysClient
- func (c *SSHKeysClient) CreateSSHKey(createInput *CreateSSHKeyInput) (*SSHKey, error)
- func (c *SSHKeysClient) DeleteSSHKey(deleteInput *DeleteSSHKeyInput) error
- func (c *SSHKeysClient) GetSSHKey(getInput *GetSSHKeyInput) (*SSHKey, error)
- func (c *SSHKeysClient) UpdateSSHKey(updateInput *UpdateSSHKeyInput) (*SSHKey, error)
- type SecRuleInfo
- type SecRulesClient
- func (c *SecRulesClient) CreateSecRule(createInput *CreateSecRuleInput) (*SecRuleInfo, error)
- func (c *SecRulesClient) DeleteSecRule(deleteInput *DeleteSecRuleInput) error
- func (c *SecRulesClient) GetSecRule(getInput *GetSecRuleInput) (*SecRuleInfo, error)
- func (c *SecRulesClient) UpdateSecRule(updateInput *UpdateSecRuleInput) (*SecRuleInfo, error)
- type SecurityApplicationICMPCode
- type SecurityApplicationICMPType
- type SecurityApplicationInfo
- type SecurityApplicationProtocol
- type SecurityApplicationsClient
- func (c *SecurityApplicationsClient) CreateSecurityApplication(input *CreateSecurityApplicationInput) (*SecurityApplicationInfo, error)
- func (c *SecurityApplicationsClient) DeleteSecurityApplication(input *DeleteSecurityApplicationInput) error
- func (c *SecurityApplicationsClient) GetSecurityApplication(input *GetSecurityApplicationInput) (*SecurityApplicationInfo, error)
- type SecurityAssociationInfo
- type SecurityAssociationsClient
- func (c *SecurityAssociationsClient) CreateSecurityAssociation(createInput *CreateSecurityAssociationInput) (*SecurityAssociationInfo, error)
- func (c *SecurityAssociationsClient) DeleteSecurityAssociation(deleteInput *DeleteSecurityAssociationInput) error
- func (c *SecurityAssociationsClient) GetSecurityAssociation(getInput *GetSecurityAssociationInput) (*SecurityAssociationInfo, error)
- type SecurityIPListInfo
- type SecurityIPListsClient
- func (c *SecurityIPListsClient) CreateSecurityIPList(createInput *CreateSecurityIPListInput) (*SecurityIPListInfo, error)
- func (c *SecurityIPListsClient) DeleteSecurityIPList(deleteInput *DeleteSecurityIPListInput) error
- func (c *SecurityIPListsClient) GetSecurityIPList(getInput *GetSecurityIPListInput) (*SecurityIPListInfo, error)
- func (c *SecurityIPListsClient) UpdateSecurityIPList(updateInput *UpdateSecurityIPListInput) (*SecurityIPListInfo, error)
- type SecurityListInfo
- type SecurityListPolicy
- type SecurityListsClient
- func (c *SecurityListsClient) CreateSecurityList(createInput *CreateSecurityListInput) (*SecurityListInfo, error)
- func (c *SecurityListsClient) DeleteSecurityList(deleteInput *DeleteSecurityListInput) error
- func (c *SecurityListsClient) GetSecurityList(getInput *GetSecurityListInput) (*SecurityListInfo, error)
- func (c *SecurityListsClient) UpdateSecurityList(updateInput *UpdateSecurityListInput) (*SecurityListInfo, error)
- type SecurityProtocolInfo
- type SecurityProtocolsClient
- func (c *SecurityProtocolsClient) CreateSecurityProtocol(input *CreateSecurityProtocolInput) (*SecurityProtocolInfo, error)
- func (c *SecurityProtocolsClient) DeleteSecurityProtocol(input *DeleteSecurityProtocolInput) error
- func (c *SecurityProtocolsClient) GetSecurityProtocol(input *GetSecurityProtocolInput) (*SecurityProtocolInfo, error)
- func (c *SecurityProtocolsClient) UpdateSecurityProtocol(updateInput *UpdateSecurityProtocolInput) (*SecurityProtocolInfo, error)
- type SecurityRuleClient
- func (c *SecurityRuleClient) CreateSecurityRule(input *CreateSecurityRuleInput) (*SecurityRuleInfo, error)
- func (c *SecurityRuleClient) DeleteSecurityRule(input *DeleteSecurityRuleInput) error
- func (c *SecurityRuleClient) GetSecurityRule(input *GetSecurityRuleInput) (*SecurityRuleInfo, error)
- func (c *SecurityRuleClient) UpdateSecurityRule(updateInput *UpdateSecurityRuleInput) (*SecurityRuleInfo, error)
- type SecurityRuleInfo
- type Snapshot
- type SnapshotDelay
- type SnapshotState
- type SnapshotsClient
- func (c *SnapshotsClient) CreateSnapshot(input *CreateSnapshotInput) (*Snapshot, error)
- func (c *SnapshotsClient) DeleteSnapshot(machineImagesClient *MachineImagesClient, input *DeleteSnapshotInput) error
- func (c *SnapshotsClient) GetSnapshot(getInput *GetSnapshotInput) (*Snapshot, error)
- func (c *SnapshotsClient) WaitForSnapshotComplete(input *GetSnapshotInput, timeout time.Duration) (*Snapshot, error)
- type StorageAttachment
- type StorageAttachmentInfo
- type StorageAttachmentInput
- type StorageAttachmentState
- type StorageAttachmentsClient
- func (c *StorageAttachmentsClient) CreateStorageAttachment(input *CreateStorageAttachmentInput) (*StorageAttachmentInfo, error)
- func (c *StorageAttachmentsClient) DeleteStorageAttachment(input *DeleteStorageAttachmentInput) error
- func (c *StorageAttachmentsClient) GetStorageAttachment(input *GetStorageAttachmentInput) (*StorageAttachmentInfo, error)
- type StorageVolumeClient
- func (c *StorageVolumeClient) CreateStorageVolume(input *CreateStorageVolumeInput) (*StorageVolumeInfo, error)
- func (c *StorageVolumeClient) DeleteStorageVolume(input *DeleteStorageVolumeInput) error
- func (c *StorageVolumeClient) GetStorageVolume(input *GetStorageVolumeInput) (*StorageVolumeInfo, error)
- func (c *StorageVolumeClient) UpdateStorageVolume(input *UpdateStorageVolumeInput) (*StorageVolumeInfo, error)
- type StorageVolumeInfo
- type StorageVolumeKind
- type StorageVolumeSnapshotClient
- func (c *StorageVolumeSnapshotClient) CreateStorageVolumeSnapshot(input *CreateStorageVolumeSnapshotInput) (*StorageVolumeSnapshotInfo, error)
- func (c *StorageVolumeSnapshotClient) DeleteStorageVolumeSnapshot(input *DeleteStorageVolumeSnapshotInput) error
- func (c *StorageVolumeSnapshotClient) GetStorageVolumeSnapshot(input *GetStorageVolumeSnapshotInput) (*StorageVolumeSnapshotInfo, error)
- type StorageVolumeSnapshotInfo
- type UpdateACLInput
- type UpdateIPAddressAssociationInput
- type UpdateIPAddressPrefixSetInput
- type UpdateIPAddressReservationInput
- type UpdateIPNetworkInput
- type UpdateIPReservationInput
- type UpdateImageListInput
- type UpdateInstanceInput
- type UpdateRouteInput
- type UpdateSSHKeyInput
- type UpdateSecRuleInput
- type UpdateSecurityIPListInput
- type UpdateSecurityListInput
- type UpdateSecurityProtocolInput
- type UpdateSecurityRuleInput
- type UpdateStorageVolumeInput
- type UpdateVirtualNICSetInput
- type VirtNICSetsClient
- func (c *VirtNICSetsClient) CreateVirtualNICSet(input *CreateVirtualNICSetInput) (*VirtualNICSet, error)
- func (c *VirtNICSetsClient) DeleteVirtualNICSet(input *DeleteVirtualNICSetInput) error
- func (c *VirtNICSetsClient) GetVirtualNICSet(input *GetVirtualNICSetInput) (*VirtualNICSet, error)
- func (c *VirtNICSetsClient) UpdateVirtualNICSet(input *UpdateVirtualNICSetInput) (*VirtualNICSet, error)
- type VirtNICsClient
- type VirtualNIC
- type VirtualNICSet
Constants ¶
const ( ACLDescription = "acl" ACLContainerPath = "/network/v1/acl/" ACLResourcePath = "/network/v1/acl" )
const ( ImageListDescription = "Image List" ImageListContainerPath = "/imagelist/" ImageListResourcePath = "/imagelist" )
const ( ImageListEntryDescription = "image list entry" ImageListEntryContainerPath = "/imagelist" ImageListEntryResourcePath = "/imagelist" )
const ( IPAddressAssociationDescription = "ip address association" IPAddressAssociationContainerPath = "/network/v1/ipassociation/" IPAddressAssociationResourcePath = "/network/v1/ipassociation" )
const ( IPAddressPrefixSetDescription = "ip address prefix set" IPAddressPrefixSetContainerPath = "/network/v1/ipaddressprefixset/" IPAddressPrefixSetResourcePath = "/network/v1/ipaddressprefixset" )
const ( IPAddressReservationDescription = "IP Address Reservation" IPAddressReservationContainerPath = "/network/v1/ipreservation/" IPAddressReservationResourcePath = "/network/v1/ipreservation" IPAddressReservationQualifier = "/oracle/public" )
const ( PublicIPAddressPool = "public-ippool" PrivateIPAddressPool = "cloud-ippool" )
const ( IPNetworkExchangeDescription = "ip network exchange" IPNetworkExchangeContainerPath = "/network/v1/ipnetworkexchange/" IPNetworkExchangeResourcePath = "/network/v1/ipnetworkexchange" )
const ( IPNetworkDescription = "ip network" IPNetworkContainerPath = "/network/v1/ipnetwork/" IPNetworkResourcePath = "/network/v1/ipnetwork" )
const ( IPReservationDesc = "ip reservation" IPReservationContainerPath = "/ip/reservation/" IPReservataionResourcePath = "/ip/reservation" )
const ( RoutesDescription = "IP Network Route" RoutesContainerPath = "/network/v1/route/" RoutesResourcePath = "/network/v1/route" )
const ( SecurityProtocolDescription = "security protocol" SecurityProtocolContainerPath = "/network/v1/secprotocol/" SecurityProtocolResourcePath = "/network/v1/secprotocol" )
const ( SecurityRuleDescription = "security rules" SecurityRuleContainerPath = "/network/v1/secrule/" SecurityRuleResourcePath = "/network/v1/secrule" )
const ( StorageVolumeSnapshotDescription = "storage volume snapshot" StorageVolumeSnapshotContainerPath = "/storage/snapshot/" StorageVolumeSnapshotResourcePath = "/storage/snapshot" WaitForSnapshotCreateTimeout = time.Duration(2400 * time.Second) WaitForSnapshotDeleteTimeout = time.Duration(1500 * time.Second) // Collocated Snapshot Property SnapshotPropertyCollocated = "/oracle/private/storage/snapshot/collocated" )
const CMP_ACME = "/Compute-%s"
const CMP_QUALIFIED_NAME = "%s/%s"
const CMP_USERNAME = "/Compute-%s/%s"
const ReservationIPPrefix = "network/v1/ipreservation"
const ReservationPrefix = "ipreservation"
const WaitForInstanceDeleteTimeout = time.Duration(3600 * time.Second)
const WaitForInstanceReadyTimeout = time.Duration(3600 * time.Second)
const WaitForSnapshotCompleteTimeout = time.Duration(600 * time.Second)
const WaitForVolumeAttachmentDeleteTimeout = time.Duration(30 * time.Second)
const WaitForVolumeAttachmentReadyTimeout = time.Duration(30 * time.Second)
const WaitForVolumeDeleteTimeout = time.Duration(600 * time.Second)
const WaitForVolumeReadyTimeout = time.Duration(600 * time.Second)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ACLInfo ¶
type ACLInfo struct { // Description of the ACL Description string `json:"description"` // Indicates whether the ACL is enabled Enabled bool `json:"enabledFlag"` // The name of the ACL Name string `json:"name"` // Tags associated with the ACL Tags []string `json:"tags"` // Uniform Resource Identifier for the ACL URI string `json:"uri"` }
ACLInfo describes an existing ACL.
type ACLsClient ¶
type ACLsClient struct {
ResourceClient
}
ACLsClient is a client for the ACLs functions of the Compute API.
func (*ACLsClient) CreateACL ¶
func (c *ACLsClient) CreateACL(createInput *CreateACLInput) (*ACLInfo, error)
CreateACL creates a new ACL.
func (*ACLsClient) DeleteACL ¶
func (c *ACLsClient) DeleteACL(deleteInput *DeleteACLInput) error
DeleteACL deletes the ACL with the given name.
func (*ACLsClient) GetACL ¶
func (c *ACLsClient) GetACL(getInput *GetACLInput) (*ACLInfo, error)
GetACL retrieves the ACL with the given name.
func (*ACLsClient) UpdateACL ¶
func (c *ACLsClient) UpdateACL(updateInput *UpdateACLInput) (*ACLInfo, error)
UpdateACL modifies the properties of the ACL with the given name.
type AuthenticationReq ¶
AuthenticationReq represents the body of an authentication request.
type ComputeClient ¶ added in v0.1.2
type ComputeClient struct {
// contains filtered or unexported fields
}
Client represents an authenticated compute client, with compute credentials and an api client.
func NewComputeClient ¶
func NewComputeClient(c *opc.Config) (*ComputeClient, error)
func (*ComputeClient) ACLs ¶ added in v0.1.2
func (c *ComputeClient) ACLs() *ACLsClient
ACLs obtains a ACLsClient which can be used to access to the ACLs functions of the Compute API
func (*ComputeClient) IPAddressAssociations ¶ added in v0.1.2
func (c *ComputeClient) IPAddressAssociations() *IPAddressAssociationsClient
IPAddressAssociations() returns an IPAddressAssociationsClient that can be used to access the necessary CRUD functions for IP Address Associations.
func (*ComputeClient) IPAddressPrefixSets ¶ added in v0.1.2
func (c *ComputeClient) IPAddressPrefixSets() *IPAddressPrefixSetsClient
IPAddressPrefixSets() returns an IPAddressPrefixSetsClient that can be used to access the necessary CRUD functions for IP Address Prefix Sets.
func (*ComputeClient) IPAddressReservations ¶ added in v0.1.2
func (c *ComputeClient) IPAddressReservations() *IPAddressReservationsClient
IPAddressReservations returns an IPAddressReservationsClient to manage IP address reservation resources
func (*ComputeClient) IPAssociations ¶ added in v0.1.2
func (c *ComputeClient) IPAssociations() *IPAssociationsClient
IPAssociations obtains a IPAssociationsClient which can be used to access to the IP Association functions of the Compute API
func (*ComputeClient) IPNetworkExchanges ¶ added in v0.1.2
func (c *ComputeClient) IPNetworkExchanges() *IPNetworkExchangesClient
IPNetworkExchanges() returns an IPNetworkExchangesClient that can be used to access the necessary CRUD functions for IP Network Exchanges.
func (*ComputeClient) IPNetworks ¶ added in v0.1.2
func (c *ComputeClient) IPNetworks() *IPNetworksClient
IPNetworks() returns an IPNetworksClient that can be used to access the necessary CRUD functions for IP Networks.
func (*ComputeClient) IPReservations ¶ added in v0.1.2
func (c *ComputeClient) IPReservations() *IPReservationsClient
IPReservations obtains an IPReservationsClient which can be used to access to the IP Reservations functions of the Compute API
func (*ComputeClient) ImageList ¶ added in v0.1.2
func (c *ComputeClient) ImageList() *ImageListClient
ImageList obtains an ImageListClient which can be used to access to the Image List functions of the Compute API
func (*ComputeClient) ImageListEntries ¶ added in v0.1.2
func (c *ComputeClient) ImageListEntries() *ImageListEntriesClient
ImageListEntries() returns an ImageListEntriesClient that can be used to access the necessary CRUD functions for Image List Entry's.
func (*ComputeClient) Instances ¶ added in v0.1.2
func (c *ComputeClient) Instances() *InstancesClient
Instances obtains an InstancesClient which can be used to access to the Instance functions of the Compute API
func (*ComputeClient) MachineImages ¶ added in v0.1.2
func (c *ComputeClient) MachineImages() *MachineImagesClient
MachineImages obtains an MachineImagesClient which can be used to access to the MachineImage functions of the Compute API
func (*ComputeClient) Routes ¶ added in v0.1.2
func (c *ComputeClient) Routes() *RoutesClient
func (*ComputeClient) SSHKeys ¶ added in v0.1.2
func (c *ComputeClient) SSHKeys() *SSHKeysClient
SSHKeys obtains an SSHKeysClient which can be used to access to the SSH key functions of the Compute API
func (*ComputeClient) SecRules ¶ added in v0.1.2
func (c *ComputeClient) SecRules() *SecRulesClient
SecRules obtains a SecRulesClient which can be used to access to the Sec Rules functions of the Compute API
func (*ComputeClient) SecurityApplications ¶ added in v0.1.2
func (c *ComputeClient) SecurityApplications() *SecurityApplicationsClient
SecurityApplications obtains a SecurityApplicationsClient which can be used to access to the Security Application functions of the Compute API
func (*ComputeClient) SecurityAssociations ¶ added in v0.1.2
func (c *ComputeClient) SecurityAssociations() *SecurityAssociationsClient
SecurityAssociations obtains a SecurityAssociationsClient which can be used to access to the Security Association functions of the Compute API
func (*ComputeClient) SecurityIPLists ¶ added in v0.1.2
func (c *ComputeClient) SecurityIPLists() *SecurityIPListsClient
SecurityIPLists obtains a SecurityIPListsClient which can be used to access to the Security IP List functions of the Compute API
func (*ComputeClient) SecurityLists ¶ added in v0.1.2
func (c *ComputeClient) SecurityLists() *SecurityListsClient
SecurityLists obtains a SecurityListsClient which can be used to access to the Security List functions of the Compute API
func (*ComputeClient) SecurityProtocols ¶ added in v0.1.2
func (c *ComputeClient) SecurityProtocols() *SecurityProtocolsClient
SecurityProtocols() returns an SecurityProtocolsClient that can be used to access the necessary CRUD functions for Security Protocols.
func (*ComputeClient) SecurityRules ¶ added in v0.1.2
func (c *ComputeClient) SecurityRules() *SecurityRuleClient
SecurityRules() returns an SecurityRulesClient that can be used to access the necessary CRUD functions for Security Rules.
func (*ComputeClient) Snapshots ¶ added in v0.1.2
func (c *ComputeClient) Snapshots() *SnapshotsClient
Snapshots obtains an SnapshotsClient which can be used to access to the Snapshot functions of the Compute API
func (*ComputeClient) StorageAttachments ¶ added in v0.1.2
func (c *ComputeClient) StorageAttachments() *StorageAttachmentsClient
StorageAttachments obtains a StorageAttachmentsClient which can be used to access to the Storage Attachment functions of the Compute API
func (*ComputeClient) StorageVolumeSnapshots ¶ added in v0.1.2
func (c *ComputeClient) StorageVolumeSnapshots() *StorageVolumeSnapshotClient
func (*ComputeClient) StorageVolumes ¶ added in v0.1.2
func (c *ComputeClient) StorageVolumes() *StorageVolumeClient
StorageVolumes obtains a StorageVolumeClient which can be used to access to the Storage Volume functions of the Compute API
func (*ComputeClient) VirtNICSets ¶ added in v0.1.2
func (c *ComputeClient) VirtNICSets() *VirtNICSetsClient
func (*ComputeClient) VirtNICs ¶ added in v0.1.2
func (c *ComputeClient) VirtNICs() *VirtNICsClient
type CreateACLInput ¶
type CreateACLInput struct { // Description of the ACL // Optional Description string `json:"description"` // Enables or disables the ACL. Set to true by default. //Set this to false to disable the ACL. // Optional Enabled bool `json:"enabledFlag"` // The name of the ACL to create. Object names can only contain alphanumeric, // underscore, dash, and period characters. Names are case-sensitive. // Required Name string `json:"name"` // Strings that you can use to tag the ACL. // Optional Tags []string `json:"tags"` }
CreateACLInput defines a ACL to be created.
type CreateIPAddressAssociationInput ¶
type CreateIPAddressAssociationInput struct { // The name of the IP Address Association to create. Object names can only contain alphanumeric, // underscore, dash, and period characters. Names are case-sensitive. // Required Name string `json:"name"` // The name of the NAT IP address reservation. // Optional IPAddressReservation string `json:"ipAddressReservation,omitempty"` // Name of the virtual NIC associated with this NAT IP reservation. // Optional Vnic string `json:"vnic,omitempty"` // Description of the IPAddressAssociation // Optional Description string `json:"description"` // String slice of tags to apply to the IP Address Association object // Optional Tags []string `json:"tags"` }
type CreateIPAddressPrefixSetInput ¶
type CreateIPAddressPrefixSetInput struct { // The name of the IP Address Prefix Set to create. Object names can only contain alphanumeric, // underscore, dash, and period characters. Names are case-sensitive. // Required Name string `json:"name"` // Description of the IPAddressPrefixSet // Optional Description string `json:"description"` // List of CIDR IPv4 prefixes assigned in the virtual network. // Optional IPAddressPrefixes []string `json:"ipAddressPrefixes"` // String slice of tags to apply to the IP Address Prefix Set object // Optional Tags []string `json:"tags"` }
type CreateIPAddressReservationInput ¶
type CreateIPAddressReservationInput struct { // Description of the IP Address Reservation // Optional Description string `json:"description"` // IP Address pool from which to reserve an IP Address. // Can be one of the following: // // 'public-ippool' - When you attach an IP Address from this pool to an instance, you enable // access between the public Internet and the instance // 'cloud-ippool' - When you attach an IP Address from this pool to an instance, the instance // can communicate privately with other Oracle Cloud Services // Optional IPAddressPool string `json:"ipAddressPool"` // The name of the reservation to create // Required Name string `json:"name"` // Tags to associate with the IP Reservation // Optional Tags []string `json:"tags"` }
CreateIPAddressReservationInput defines input parameters to create an ip address reservation
type CreateIPAssociationInput ¶
type CreateIPAssociationInput struct { // The type of IP Address to associate with this instance // for a Dynamic IP address specify `ippool:/oracle/public/ippool`. // for a Static IP address specify the three part name of the existing IP reservation // Required ParentPool string `json:"parentpool"` // The three-part name of the vcable ID of the instance that you want to associate with an IP address. The three-part name is in the format: /Compute-identity_domain/user/object. // Required VCable string `json:"vcable"` }
type CreateIPNetworkExchangeInput ¶
type CreateIPNetworkExchangeInput struct { // The name of the IP Network Exchange to create. Object names can only contain alphanumeric, // underscore, dash, and period characters. Names are case-sensitive. // Required Name string `json:"name"` // Description of the IPNetworkExchange // Optional Description string `json:"description"` // String slice of tags to apply to the IP Network Exchange object // Optional Tags []string `json:"tags"` }
type CreateIPNetworkInput ¶
type CreateIPNetworkInput struct { // The name of the IP Network to create. Object names can only contain alphanumeric, // underscore, dash, and period characters. Names are case-sensitive. // Required Name string `json:"name"` // Specify the size of the IP Subnet. It is a range of IPv4 addresses assigned in the virtual // network, in CIDR address prefix format. // While specifying the IP address prefix take care of the following points: // //* These IP addresses aren't part of the common pool of Oracle-provided IP addresses used by the shared network. // //* There's no conflict with the range of IP addresses used in another IP network, the IP addresses used your on-premises network, or with the range of private IP addresses used in the shared network. If IP networks with overlapping IP subnets are linked to an IP exchange, packets going to and from those IP networks are dropped. // //* The upper limit of the CIDR block size for an IP network is /16. // //Note: The first IP address of any IP network is reserved for the default gateway, the DHCP server, and the DNS server of that IP network. // Required IPAddressPrefix string `json:"ipAddressPrefix"` //Specify the IP network exchange to which the IP network belongs. //You can add an IP network to only one IP network exchange, but an IP network exchange //can include multiple IP networks. An IP network exchange enables access between IP networks //that have non-overlapping addresses, so that instances on these networks can exchange packets //with each other without NAT. // Optional IPNetworkExchange string `json:"ipNetworkExchange,omitempty"` // Description of the IPNetwork // Optional Description string `json:"description"` // Enable public internet access using NAPT for VNICs without any public IP reservation // Optional PublicNaptEnabled bool `json:"publicNaptEnabledFlag"` // String slice of tags to apply to the IP Network object // Optional Tags []string `json:"tags"` }
type CreateIPReservationInput ¶
type CreateIPReservationInput struct { // The name of the object // If you don't specify a name for this object, then the name is generated automatically. // Object names can contain only alphanumeric characters, hyphens, underscores, and periods. // Object names are case-sensitive. // Optional Name string `json:"name"` // Pool of public IP addresses. This must be set to `ippool` // Required ParentPool IPReservationPool `json:"parentpool"` // Is the IP Reservation Persistent (i.e. static) or not (i.e. Dynamic)? // Required Permanent bool `json:"permanent"` // A comma-separated list of strings which helps you to identify IP reservations. // Optional Tags []string `json:"tags"` }
CreateIPReservationInput defines an IP reservation to be created.
type CreateImageListEntryInput ¶
type CreateImageListEntryInput struct { // The name of the Image List Name string // User-defined parameters, in JSON format, that can be passed to an instance of this machine // image when it is launched. This field can be used, for example, to specify the location of // a database server and login details. Instance metadata, including user-defined data is //available at http://192.0.0.192/ within an instance. See Retrieving User-Defined Instance //Attributes in Using Oracle Compute Cloud Service (IaaS). // Optional Attributes map[string]interface{} `json:"attributes"` // A list of machine images. // Required MachineImages []string `json:"machineimages"` // The unique version of the entry in the image list. // Required Version int `json:"version"` }
type CreateImageListInput ¶
type CreateImageListInput struct { // The image list entry to be used, by default, when launching instances using this image list. // If you don't specify this value, it is set to 1. // Optional Default int `json:"default"` // A description of this image list. // Required Description string `json:"description"` // The name of the Image List // Object names can contain only alphanumeric characters, hyphens, underscores, and periods. Object names are case-sensitive. // Required Name string `json:"name"` }
CreateImageListInput defines an Image List to be created.
type CreateInstanceInput ¶
type CreateInstanceInput struct { // A dictionary of user-defined attributes to be made available to the instance. // Optional Attributes map[string]interface{} `json:"attributes"` // Boot order list // Optional BootOrder []int `json:"boot_order,omitempty"` // The desired state of the opc instance. Can only be `running` or `shutdown` // Omits if empty. // Optional DesiredState InstanceDesiredState `json:"desired_state,omitempty"` // The host name assigned to the instance. On an Oracle Linux instance, // this host name is displayed in response to the hostname command. // Only relative DNS is supported. The domain name is suffixed to the host name // that you specify. The host name must not end with a period. If you don't specify a // host name, then a name is generated automatically. // Optional Hostname string `json:"hostname"` // Name of imagelist to be launched. // Optional ImageList string `json:"imagelist"` // A label assigned by the user, specifically for defining inter-instance relationships. // Optional Label string `json:"label"` // Name of this instance, generated by the server. // Optional Name string `json:"name"` // Networking information. // Optional Networking map[string]NetworkingInfo `json:"networking"` // If set to true (default), then reverse DNS records are created. // If set to false, no reverse DNS records are created. // Optional ReverseDNS bool `json:"reverse_dns,omitempty"` // Type of instance, as defined on site configuration. // Required Shape string `json:"shape"` // A list of the Storage Attachments you want to associate with the instance. // Optional Storage []StorageAttachmentInput `json:"storage_attachments,omitempty"` // A list of the SSH public keys that you want to associate with the instance. // Optional SSHKeys []string `json:"sshkeys"` // A list of tags to be supplied to the instance // Optional Tags []string `json:"tags"` // Time to wait for an instance to be ready Timeout time.Duration `json:"-"` }
type CreateRouteInput ¶
type CreateRouteInput struct { // Specify 0,1, or 2 as the route's administrative distance. // If you do not specify a value, the default value is 0. // The same prefix can be used in multiple routes. In this case, packets are routed over all the matching // routes with the lowest administrative distance. // In the case multiple routes with the same lowest administrative distance match, // routing occurs over all these routes using ECMP. // Optional AdminDistance int `json:"adminDistance"` // Description of the route // Optional Description string `json:"description"` // The IPv4 address prefix in CIDR format, of the external network (external to the vNIC set) // from which you want to route traffic // Required IPAddressPrefix string `json:"ipAddressPrefix"` // Name of the route. // Names can only contain alphanumeric, underscore, dash, and period characters. Case-sensitive // Required Name string `json:"name"` // Name of the virtual NIC set to route matching packets to. // Routed flows are load-balanced among all the virtual NICs in the virtual NIC set // Required NextHopVnicSet string `json:"nextHopVnicSet"` // Slice of tags to be associated with the route // Optional Tags []string `json:"tags,omitempty"` }
type CreateSSHKeyInput ¶
type CreateSSHKeyInput struct { // The three-part name of the SSH Key (/Compute-identity_domain/user/object). // Object names can contain only alphanumeric characters, hyphens, underscores, and periods. Object names are case-sensitive. // Required Name string `json:"name"` // The SSH public key value. // Required Key string `json:"key"` // Indicates whether the key must be enabled (default) or disabled. Note that disabled keys cannot be associated with instances. // To explicitly enable the key, specify true. To disable the key, specify false. // Optional Enabled bool `json:"enabled"` }
CreateSSHKeyInput defines an SSH key to be created.
type CreateSecRuleInput ¶
type CreateSecRuleInput struct { // Set this parameter to PERMIT. // Required Action string `json:"action"` // The name of the security application for user-defined or predefined security applications. // Required Application string `json:"application"` // Description of the IP Network // Optional Description string `json:"description"` // Indicates whether the sec rule is enabled (set to false) or disabled (true). // The default setting is false. // Optional Disabled bool `json:"disabled"` // The name of the destination security list or security IP list. // // You must use the prefix seclist: or seciplist: to identify the list type. // // You can specify a security IP list as the destination in a secrule, // provided src_list is a security list that has DENY as its outbound policy. // // You cannot specify any of the security IP lists in the /oracle/public container // as a destination in a secrule. // Required DestinationList string `json:"dst_list"` // The name of the Sec Rule to create. Object names can only contain alphanumeric, // underscore, dash, and period characters. Names are case-sensitive. // Required Name string `json:"name"` // The name of the source security list or security IP list. // // You must use the prefix seclist: or seciplist: to identify the list type. // // Required SourceList string `json:"src_list"` }
CreateSecRuleInput defines a sec rule to be created.
type CreateSecurityApplicationInput ¶
type CreateSecurityApplicationInput struct { // A description of the security application. // Optional Description string `json:"description"` // The TCP or UDP destination port number. // You can also specify a port range, such as 5900-5999 for TCP. // This parameter isn't relevant to the icmp protocol. // Required if the Protocol is TCP or UDP DPort string `json:"dport"` // The ICMP code. This parameter is relevant only if you specify ICMP as the protocol. // If you specify icmp as the protocol and don't specify icmptype or icmpcode, then all ICMP packets are matched. // Optional ICMPCode SecurityApplicationICMPCode `json:"icmpcode,omitempty"` // This parameter is relevant only if you specify ICMP as the protocol. // If you specify icmp as the protocol and don't specify icmptype or icmpcode, then all ICMP packets are matched. // Optional ICMPType SecurityApplicationICMPType `json:"icmptype,omitempty"` // The three-part name of the Security Application (/Compute-identity_domain/user/object). // Object names can contain only alphanumeric characters, hyphens, underscores, and periods. Object names are case-sensitive. // Required Name string `json:"name"` // The protocol to use. // Required Protocol SecurityApplicationProtocol `json:"protocol"` }
CreateSecurityApplicationInput describes the Security Application to create
type CreateSecurityAssociationInput ¶
type CreateSecurityAssociationInput struct { // The three-part name of the Security Association (/Compute-identity_domain/user/object). // If you don't specify a name for this object, then the name is generated automatically. // Object names can contain only alphanumeric characters, hyphens, underscores, and periods. Object names are case-sensitive. // Optional Name string `json:"name"` // The name of the Security list that you want to associate with the instance. // Required SecList string `json:"seclist"` // The name of the vCable of the instance that you want to associate with the security list. // Required VCable string `json:"vcable"` }
CreateSecurityAssociationInput defines a security association to be created.
type CreateSecurityIPListInput ¶
type CreateSecurityIPListInput struct { // A description of the security IP list. // Optional Description string `json:"description"` // The three-part name of the object (/Compute-identity_domain/user/object). // Object names can contain only alphanumeric characters, hyphens, underscores, and periods. Object names are case-sensitive. // Required Name string `json:"name"` // A comma-separated list of the subnets (in CIDR format) or IPv4 addresses for which you want to create this security IP list. // Required SecIPEntries []string `json:"secipentries"` }
CreateSecurityIPListInput defines a security IP list to be created.
type CreateSecurityListInput ¶
type CreateSecurityListInput struct { // A description of the security list. // Optional Description string `json:"description"` // The three-part name of the Security List (/Compute-identity_domain/user/object). // Object names can contain only alphanumeric characters, hyphens, underscores, and periods. Object names are case-sensitive. // Required Name string `json:"name"` // The policy for outbound traffic from the security list. // Optional (defaults to `permit`) OutboundCIDRPolicy SecurityListPolicy `json:"outbound_cidr_policy"` // The policy for inbound traffic to the security list. // Optional (defaults to `deny`) Policy SecurityListPolicy `json:"policy"` }
CreateSecurityListInput defines a security list to be created.
type CreateSecurityProtocolInput ¶
type CreateSecurityProtocolInput struct { // The name of the Security Protocol to create. Object names can only contain alphanumeric, // underscore, dash, and period characters. Names are case-sensitive. // Required Name string `json:"name"` // Description of the SecurityProtocol // Optional Description string `json:"description"` // Enter a list of port numbers or port range strings. //Traffic is enabled by a security rule when a packet's destination port matches the // ports specified here. // For TCP, SCTP, and UDP, each port is a destination transport port, between 0 and 65535, // inclusive. For ICMP, each port is an ICMP type, between 0 and 255, inclusive. // If no destination ports are specified, all destination ports or ICMP types are allowed. // Optional DstPortSet []string `json:"dstPortSet"` // The protocol used in the data portion of the IP datagram. // Specify one of the permitted values or enter a number in the range 0–254 to // represent the protocol that you want to specify. See Assigned Internet Protocol Numbers. // Permitted values are: tcp, udp, icmp, igmp, ipip, rdp, esp, ah, gre, icmpv6, ospf, pim, sctp, // mplsip, all. // Traffic is enabled by a security rule when the protocol in the packet matches the // protocol specified here. If no protocol is specified, all protocols are allowed. // Optional IPProtocol string `json:"ipProtocol"` // Enter a list of port numbers or port range strings. // Traffic is enabled by a security rule when a packet's source port matches the // ports specified here. // For TCP, SCTP, and UDP, each port is a source transport port, // between 0 and 65535, inclusive. // For ICMP, each port is an ICMP type, between 0 and 255, inclusive. // If no source ports are specified, all source ports or ICMP types are allowed. // Optional SrcPortSet []string `json:"srcPortSet"` // String slice of tags to apply to the Security Protocol object // Optional Tags []string `json:"tags"` }
type CreateSecurityRuleInput ¶
type CreateSecurityRuleInput struct { //Select the name of the access control list (ACL) that you want to add this // security rule to. Security rules are applied to vNIC sets by using ACLs. // Optional ACL string `json:"acl,omitempty"` // Description of the Security Rule // Optional Description string `json:"description"` // A list of IP address prefix sets to which you want to permit traffic. // Only packets to IP addresses in the specified IP address prefix sets are permitted. // When no destination IP address prefix sets are specified, traffic to any // IP address is permitted. // Optional DstIpAddressPrefixSets []string `json:"dstIpAddressPrefixSets"` // The vNICset to which you want to permit traffic. Only packets to vNICs in the // specified vNICset are permitted. When no destination vNICset is specified, traffic // to any vNIC is permitted. // Optional DstVnicSet string `json:"dstVnicSet,omitempty"` // Allows the security rule to be enabled or disabled. This parameter is set to // true by default. Specify false to disable the security rule. // Optional Enabled bool `json:"enabledFlag"` // Specify the direction of flow of traffic, which is relative to the instances, // for this security rule. Allowed values are ingress or egress. // An ingress packet is a packet received by a virtual NIC, for example from // another virtual NIC or from the public Internet. // An egress packet is a packet sent by a virtual NIC, for example to another // virtual NIC or to the public Internet. // Required FlowDirection string `json:"flowDirection"` // The name of the Security Rule // Object names can contain only alphanumeric characters, hyphens, underscores, and periods. // Object names are case-sensitive. When you specify the object name, ensure that an object // of the same type and with the same name doesn't already exist. // If such an object already exists, another object of the same type and with the same name won't // be created and the existing object won't be updated. // Required Name string `json:"name"` // A list of security protocols for which you want to permit traffic. Only packets that // match the specified protocols and ports are permitted. When no security protocols are // specified, traffic using any protocol over any port is permitted. // Optional SecProtocols []string `json:"secProtocols"` // A list of IP address prefix sets from which you want to permit traffic. Only packets // from IP addresses in the specified IP address prefix sets are permitted. When no source // IP address prefix sets are specified, traffic from any IP address is permitted. // Optional SrcIpAddressPrefixSets []string `json:"srcIpAddressPrefixSets"` // The vNICset from which you want to permit traffic. Only packets from vNICs in the // specified vNICset are permitted. When no source vNICset is specified, traffic from any // vNIC is permitted. // Optional SrcVnicSet string `json:"srcVnicSet,omitempty"` // Strings that you can use to tag the security rule. // Optional Tags []string `json:"tags"` }
type CreateSnapshotInput ¶ added in v0.1.2
type CreateSnapshotInput struct { // The name of the account that contains the credentials and access details of // Oracle Storage Cloud Service. The machine image file is uploaded to the Oracle // Storage Cloud Service account that you specify. // Optional Account string `json:"account,omitempty"` // Use this option when you want to preserve the custom changes you have made // to an instance before deleting the instance. The only permitted value is shutdown. // Snapshot of the instance is not taken immediately. It creates a machine image which // preserves the changes you have made to the instance, and then the instance is deleted. // Note: This option has no effect if you shutdown the instance from inside it. Any pending // snapshot request on that instance goes into error state. You must delete the instance // (DELETE /instance/{name}). // Optional Delay SnapshotDelay `json:"delay,omitempty"` // Name of the instance that you want to clone. // Required Instance string `json:"instance"` // Specify the name of the machine image created by the snapshot request. // Object names can contain only alphanumeric characters, hyphens, underscores, and periods. // Object names are case-sensitive. // If you don't specify a name for this object, then the name is generated automatically. // Optional MachineImage string `json:"machineimage,omitempty"` // Time to wait for snapshot to be completed Timeout time.Duration `json:"-"` }
CreateSnapshotInput defines an Snapshot to be created.
type CreateStorageAttachmentInput ¶
type CreateStorageAttachmentInput struct { // Index number for the volume. The allowed range is 1-10 // An attachment with index 1 is exposed to the instance as /dev/xvdb, an attachment with index 2 is exposed as /dev/xvdc, and so on. // Required. Index int `json:"index"` // Multipart name of the instance to which you want to attach the volume. // Required. InstanceName string `json:"instance_name"` // Multipart name of the volume that you want to attach. // Required. StorageVolumeName string `json:"storage_volume_name"` // Time to wait for storage volume attachment Timeout time.Duration `json:"-"` }
type CreateStorageVolumeInput ¶
type CreateStorageVolumeInput struct { // true indicates that the storage volume can also be used as a boot disk for an instance. // If you set the value to true, then you must specify values for the `ImageList` and `ImageListEntry` fields. Bootable bool `json:"bootable,omitempty"` // The description of the storage volume. Description string `json:"description,omitempty"` // Name of machine image to extract onto this volume when created. This information is provided only for bootable storage volumes. ImageList string `json:"imagelist,omitempty"` // Specific imagelist entry version to extract. ImageListEntry int `json:"imagelist_entry,omitempty"` // The three-part name of the object (/Compute-identity_domain/user/object). Name string `json:"name"` // The storage-pool property: /oracle/public/storage/latency or /oracle/public/storage/default. Properties []string `json:"properties,omitempty"` // The size of this storage volume in GB. Size string `json:"size"` // Name of the parent snapshot from which the storage volume is restored or cloned. Snapshot string `json:"snapshot,omitempty"` // Account of the parent snapshot from which the storage volume is restored. SnapshotAccount string `json:"snapshot_account,omitempty"` // Id of the parent snapshot from which the storage volume is restored or cloned. SnapshotID string `json:"snapshot_id,omitempty"` // Comma-separated strings that tag the storage volume. Tags []string `json:"tags,omitempty"` // Timeout to wait for storage volume creation. Timeout time.Duration `json:"-"` }
CreateStorageVolumeInput represents the body of an API request to create a new Storage Volume.
type CreateStorageVolumeSnapshotInput ¶
type CreateStorageVolumeSnapshotInput struct { // Description of the snapshot // Optional Description string `json:"description,omitempty"` // Name of the snapshot // Optional, will be generated if not specified Name string `json:"name,omitempty"` // Whether or not the parent volume is bootable // Optional ParentVolumeBootable string `json:"parent_volume_bootable,omitempty"` // Whether collocated or remote // Optional, will be remote if unspecified Property string `json:"property,omitempty"` // Array of tags for the snapshot // Optional Tags []string `json:"tags,omitempty"` // Name of the volume to create the snapshot from // Required Volume string `json:"volume"` // Timeout to wait for snapshot to be completed. Will use default if unspecified Timeout time.Duration `json:"-"` }
CreateStorageVolumeSnapshotInput represents the body of an API request to create a new storage volume snapshot
type CreateVirtualNICSetInput ¶
type CreateVirtualNICSetInput struct { // List of ACLs applied to the VNICs in the set. // Optional AppliedACLs []string `json:"appliedAcls"` // Description of the object. // Optional Description string `json:"description"` // The three-part name (/Compute-identity_domain/user/object) of the virtual NIC set. // Object names can contain only alphanumeric, underscore (_), dash (-), and period (.) characters. Object names are case-sensitive. // Required Name string `json:"name"` // Tags associated with this VNIC set. // Optional Tags []string `json:"tags"` // List of VNICs associated with this VNIC set. // Optional VirtualNICs []string `json:"vnics"` }
type DeleteACLInput ¶
type DeleteACLInput struct { // The name of the ACL to delete. // Required Name string `json:"name"` }
DeleteACLInput describes the ACL to delete
type DeleteIPAddressAssociationInput ¶
type DeleteIPAddressAssociationInput struct { // The name of the IP Address Association to query for. Case-sensitive // Required Name string `json:"name"` }
type DeleteIPAddressPrefixSetInput ¶
type DeleteIPAddressPrefixSetInput struct { // The name of the IP Address Prefix Set to query for. Case-sensitive // Required Name string `json:"name"` }
type DeleteIPAddressReservationInput ¶
type DeleteIPAddressReservationInput struct { // The name of the reservation to delete Name string `json:"name"` }
Parameters to delete an IP Address Reservation
type DeleteIPAssociationInput ¶
type DeleteIPAssociationInput struct { // The three-part name of the IP Association // Required. Name string `json:"name"` }
type DeleteIPNetworkExchangeInput ¶
type DeleteIPNetworkExchangeInput struct { // The name of the IP Network Exchange to query for. Case-sensitive // Required Name string `json:"name"` }
type DeleteIPNetworkInput ¶
type DeleteIPNetworkInput struct { // The name of the IP Network to query for. Case-sensitive // Required Name string `json:"name"` }
type DeleteIPReservationInput ¶
type DeleteIPReservationInput struct { // The name of the IP Reservation // Required Name string }
DeleteIPReservationInput defines an IP Reservation to delete
type DeleteImageListInput ¶
type DeleteImageListInput struct { // The name of the Image List Name string `json:name` }
DeleteKeyInput describes the image list to delete
type DeleteInstanceInput ¶
type DeleteInstanceInput struct { // The Unqualified Name of this Instance Name string // The Unqualified ID of this Instance ID string // Time to wait for instance to be deleted Timeout time.Duration }
func (*DeleteInstanceInput) String ¶
func (d *DeleteInstanceInput) String() string
type DeleteMachineImageInput ¶ added in v0.1.2
type DeleteMachineImageInput struct { // The name of the MachineImage Name string `json:name` }
DeleteMachineImageInput describes the snapshot to delete
type DeleteRouteInput ¶
type DeleteRouteInput struct { // Name of the Route to delete. Case-sensitive // Required Name string `json:"name"` }
type DeleteSSHKeyInput ¶
type DeleteSSHKeyInput struct { // The three-part name of the SSH Key (/Compute-identity_domain/user/object). Name string `json:name` }
DeleteKeyInput describes the ssh key to delete
type DeleteSecRuleInput ¶
type DeleteSecRuleInput struct { // The name of the Sec Rule to delete. // Required Name string `json:"name"` }
DeleteSecRuleInput describes the sec rule to delete
type DeleteSecurityApplicationInput ¶
type DeleteSecurityApplicationInput struct { // The three-part name of the Security Application (/Compute-identity_domain/user/object). // Required Name string `json:"name"` }
DeleteSecurityApplicationInput describes the Security Application to delete
type DeleteSecurityAssociationInput ¶
type DeleteSecurityAssociationInput struct { // The three-part name of the Security Association (/Compute-identity_domain/user/object). // Required Name string `json:"name"` }
DeleteSecurityAssociationInput describes the security association to delete
type DeleteSecurityIPListInput ¶
type DeleteSecurityIPListInput struct { // The three-part name of the object (/Compute-identity_domain/user/object). // Required Name string `json:"name"` }
DeleteSecurityIPListInput describes the security ip list to delete.
type DeleteSecurityListInput ¶
type DeleteSecurityListInput struct { // The three-part name of the Security List (/Compute-identity_domain/user/object). // Required Name string `json:name` }
DeleteSecurityListInput describes the security list to destroy
type DeleteSecurityProtocolInput ¶
type DeleteSecurityProtocolInput struct { // The name of the Security Protocol to query for. Case-sensitive // Required Name string `json:"name"` }
type DeleteSecurityRuleInput ¶
type DeleteSecurityRuleInput struct { // The name of the Security Rule to query for. Case-sensitive // Required Name string `json:"name"` }
type DeleteSnapshotInput ¶ added in v0.1.2
type DeleteSnapshotInput struct { // The name of the Snapshot // Required Snapshot string // The name of the machine image // Required MachineImage string // Time to wait for snapshot to be deleted Timeout time.Duration }
DeleteSnapshotInput describes the snapshot to delete
type DeleteStorageAttachmentInput ¶
type DeleteStorageAttachmentInput struct { // The three-part name of the Storage Attachment (/Compute-identity_domain/user/object). // Required Name string `json:"name"` // Time to wait for storage volume snapshot Timeout time.Duration `json:"-"` }
DeleteStorageAttachmentInput represents the body of an API request to delete a Storage Attachment.
type DeleteStorageVolumeInput ¶
type DeleteStorageVolumeInput struct { // The three-part name of the object (/Compute-identity_domain/user/object). Name string `json:"name"` // Timeout to wait for storage volume deletion Timeout time.Duration `json:"-"` }
DeleteStorageVolumeInput represents the body of an API request to delete a Storage Volume.
type DeleteStorageVolumeSnapshotInput ¶
type DeleteStorageVolumeSnapshotInput struct { // Name of the snapshot to delete Name string `json:"name"` // Timeout to wait for deletion, will use default if unspecified Timeout time.Duration `json:"-"` }
DeleteStorageVolumeSnapshotInput represents the body of an API request to delete a storage volume snapshot
type DeleteVirtualNICSetInput ¶
type DeleteVirtualNICSetInput struct { // The name of the virtual NIC set. // Required Name string `json:"name"` }
type GetACLInput ¶
type GetACLInput struct { // The name of the ACL to query for // Required Name string `json:"name"` }
GetACLInput describes the ACL to get
type GetIPAddressAssociationInput ¶
type GetIPAddressAssociationInput struct { // The name of the IP Address Association to query for. Case-sensitive // Required Name string `json:"name"` }
type GetIPAddressPrefixSetInput ¶
type GetIPAddressPrefixSetInput struct { // The name of the IP Address Prefix Set to query for. Case-sensitive // Required Name string `json:"name"` }
type GetIPAddressReservationInput ¶
type GetIPAddressReservationInput struct { // Name of the IP Reservation // Required Name string `json:"name"` }
Parameters to retrieve information on an ip address reservation
type GetIPAssociationInput ¶
type GetIPAssociationInput struct { // The three-part name of the IP Association // Required. Name string `json:"name"` }
type GetIPNetworkExchangeInput ¶
type GetIPNetworkExchangeInput struct { // The name of the IP Network Exchange to query for. Case-sensitive // Required Name string `json:"name"` }
type GetIPNetworkInput ¶
type GetIPNetworkInput struct { // The name of the IP Network to query for. Case-sensitive // Required Name string `json:"name"` }
type GetIPReservationInput ¶
type GetIPReservationInput struct { // The name of the IP Reservation // Required Name string }
GetIPReservationInput defines an IP Reservation to get
type GetImageListEntryInput ¶
type GetImageListInput ¶
type GetImageListInput struct { // The name of the Image List Name string `json:name` }
GetImageListInput describes the image list to get
type GetInstanceInput ¶
type GetInstanceInput struct { // The Unqualified Name of this Instance Name string // The Unqualified ID of this Instance ID string }
Both of these fields are required. If they're not provided, things go wrong in incredibly amazing ways.
func (*GetInstanceInput) String ¶
func (g *GetInstanceInput) String() string
type GetRouteInput ¶
type GetRouteInput struct { // Name of the Route to query for. Case-sensitive // Required Name string `json:"name"` }
type GetSSHKeyInput ¶
type GetSSHKeyInput struct { // The three-part name of the SSH Key (/Compute-identity_domain/user/object). Name string `json:name` }
GetSSHKeyInput describes the ssh key to get
type GetSecRuleInput ¶
type GetSecRuleInput struct { // The name of the Sec Rule to query for // Required Name string `json:"name"` }
GetSecRuleInput describes the Sec Rule to get
type GetSecurityApplicationInput ¶
type GetSecurityApplicationInput struct { // The three-part name of the Security Application (/Compute-identity_domain/user/object). // Required Name string `json:"name"` }
GetSecurityApplicationInput describes the Security Application to obtain
type GetSecurityAssociationInput ¶
type GetSecurityAssociationInput struct { // The three-part name of the Security Association (/Compute-identity_domain/user/object). // Required Name string `json:"name"` }
GetSecurityAssociationInput describes the security association to get
type GetSecurityIPListInput ¶
type GetSecurityIPListInput struct { // The three-part name of the object (/Compute-identity_domain/user/object). // Required Name string `json:"name"` }
GetSecurityIPListInput describes the Security IP List to obtain
type GetSecurityListInput ¶
type GetSecurityListInput struct { // The three-part name of the Security List (/Compute-identity_domain/user/object). // Required Name string `json:name` }
GetSecurityListInput describes the security list you want to get
type GetSecurityProtocolInput ¶
type GetSecurityProtocolInput struct { // The name of the Security Protocol to query for. Case-sensitive // Required Name string `json:"name"` }
type GetSecurityRuleInput ¶
type GetSecurityRuleInput struct { // The name of the Security Rule to query for. Case-sensitive // Required Name string `json:"name"` }
type GetSnapshotInput ¶ added in v0.1.2
type GetSnapshotInput struct { // The name of the Snapshot // Required Name string `json:name` }
GetSnapshotInput describes the snapshot to get
type GetStorageAttachmentInput ¶
type GetStorageAttachmentInput struct { // The three-part name of the Storage Attachment (/Compute-identity_domain/user/object). // Required Name string `json:"name"` }
GetStorageAttachmentInput represents the body of an API request to obtain a Storage Attachment.
type GetStorageVolumeInput ¶
type GetStorageVolumeInput struct { // The three-part name of the object (/Compute-identity_domain/user/object). Name string `json:"name"` }
GetStorageVolumeInput represents the body of an API request to obtain a Storage Volume.
type GetStorageVolumeSnapshotInput ¶
type GetStorageVolumeSnapshotInput struct { // Name of the snapshot Name string `json:"name"` }
GetStorageVolumeSnapshotInput represents the body of an API request to get information on a storage volume snapshot
type GetVirtualNICInput ¶
type GetVirtualNICInput struct { // The three-part name (/Compute-identity_domain/user/object) of the Virtual NIC. // Required Name string `json:"name"` }
Can only GET a virtual NIC, not update, create, or delete
type GetVirtualNICSetInput ¶
type GetVirtualNICSetInput struct { // The three-part name (/Compute-identity_domain/user/object) of the virtual NIC set. // Required Name string `json:"name"` }
type IPAddressAssociationInfo ¶
type IPAddressAssociationInfo struct { // The name of the NAT IP address reservation. IPAddressReservation string `json:"ipAddressReservation"` // Name of the virtual NIC associated with this NAT IP reservation. Vnic string `json:"vnic"` // The name of the IP Address Association Name string `json:"name"` // Description of the IP Address Association Description string `json:"description"` // Slice of tags associated with the IP Address Association Tags []string `json:"tags"` // Uniform Resource Identifier for the IP Address Association Uri string `json:"uri"` }
IPAddressAssociationInfo contains the exported fields necessary to hold all the information about an IP Address Association
type IPAddressAssociationsClient ¶
type IPAddressAssociationsClient struct {
ResourceClient
}
func (*IPAddressAssociationsClient) CreateIPAddressAssociation ¶
func (c *IPAddressAssociationsClient) CreateIPAddressAssociation(input *CreateIPAddressAssociationInput) (*IPAddressAssociationInfo, error)
Create a new IP Address Association from an IPAddressAssociationsClient and an input struct. Returns a populated Info struct for the IP Address Association, and any errors
func (*IPAddressAssociationsClient) DeleteIPAddressAssociation ¶
func (c *IPAddressAssociationsClient) DeleteIPAddressAssociation(input *DeleteIPAddressAssociationInput) error
func (*IPAddressAssociationsClient) GetIPAddressAssociation ¶
func (c *IPAddressAssociationsClient) GetIPAddressAssociation(input *GetIPAddressAssociationInput) (*IPAddressAssociationInfo, error)
Returns a populated IPAddressAssociationInfo struct from an input struct
func (*IPAddressAssociationsClient) UpdateIPAddressAssociation ¶
func (c *IPAddressAssociationsClient) UpdateIPAddressAssociation(updateInput *UpdateIPAddressAssociationInput) (*IPAddressAssociationInfo, error)
UpdateIPAddressAssociation update the ip address association
type IPAddressPrefixSetInfo ¶
type IPAddressPrefixSetInfo struct { // The name of the IP Address Prefix Set Name string `json:"name"` // Description of the IP Address Prefix Set Description string `json:"description"` // List of CIDR IPv4 prefixes assigned in the virtual network. IPAddressPrefixes []string `json:"ipAddressPrefixes"` // Slice of tags associated with the IP Address Prefix Set Tags []string `json:"tags"` // Uniform Resource Identifier for the IP Address Prefix Set Uri string `json:"uri"` }
IPAddressPrefixSetInfo contains the exported fields necessary to hold all the information about an IP Address Prefix Set
type IPAddressPrefixSetsClient ¶
type IPAddressPrefixSetsClient struct {
ResourceClient
}
func (*IPAddressPrefixSetsClient) CreateIPAddressPrefixSet ¶
func (c *IPAddressPrefixSetsClient) CreateIPAddressPrefixSet(input *CreateIPAddressPrefixSetInput) (*IPAddressPrefixSetInfo, error)
Create a new IP Address Prefix Set from an IPAddressPrefixSetsClient and an input struct. Returns a populated Info struct for the IP Address Prefix Set, and any errors
func (*IPAddressPrefixSetsClient) DeleteIPAddressPrefixSet ¶
func (c *IPAddressPrefixSetsClient) DeleteIPAddressPrefixSet(input *DeleteIPAddressPrefixSetInput) error
func (*IPAddressPrefixSetsClient) GetIPAddressPrefixSet ¶
func (c *IPAddressPrefixSetsClient) GetIPAddressPrefixSet(input *GetIPAddressPrefixSetInput) (*IPAddressPrefixSetInfo, error)
Returns a populated IPAddressPrefixSetInfo struct from an input struct
func (*IPAddressPrefixSetsClient) UpdateIPAddressPrefixSet ¶
func (c *IPAddressPrefixSetsClient) UpdateIPAddressPrefixSet(updateInput *UpdateIPAddressPrefixSetInput) (*IPAddressPrefixSetInfo, error)
UpdateIPAddressPrefixSet update the ip address prefix set
type IPAddressReservation ¶
type IPAddressReservation struct { // Description of the IP Address Reservation Description string `json:"description"` // Reserved NAT IPv4 address from the IP Address Pool IPAddress string `json:"ipAddress"` // Name of the IP Address pool to reserve the NAT IP from IPAddressPool string `json:"ipAddressPool"` // Name of the reservation Name string `json:"name"` // Tags associated with the object Tags []string `json:"tags"` // Uniform Resource Identified for the reservation Uri string `json:"uri"` }
IPAddressReservation describes an IP Address reservation
type IPAddressReservationsClient ¶
type IPAddressReservationsClient struct {
*ResourceClient
}
IPAddressReservationsClient is a client to manage ip address reservation resources
func (*IPAddressReservationsClient) CreateIPAddressReservation ¶
func (c *IPAddressReservationsClient) CreateIPAddressReservation(input *CreateIPAddressReservationInput) (*IPAddressReservation, error)
Takes an input struct, creates an IP Address reservation, and returns the info struct and any errors
func (*IPAddressReservationsClient) DeleteIPAddressReservation ¶
func (c *IPAddressReservationsClient) DeleteIPAddressReservation(input *DeleteIPAddressReservationInput) error
func (*IPAddressReservationsClient) GetIPAddressReservation ¶
func (c *IPAddressReservationsClient) GetIPAddressReservation(input *GetIPAddressReservationInput) (*IPAddressReservation, error)
Returns an IP Address Reservation and any errors
func (*IPAddressReservationsClient) UpdateIPAddressReservation ¶
func (c *IPAddressReservationsClient) UpdateIPAddressReservation(input *UpdateIPAddressReservationInput) (*IPAddressReservation, error)
type IPAssociationInfo ¶
type IPAssociationInfo struct { // The three-part name of the object (/Compute-identity_domain/user/object). Name string `json:"name"` // The three-part name of the IP reservation object in the format (/Compute-identity_domain/user/object). // An IP reservation is a public IP address which is attached to an Oracle Compute Cloud Service instance that requires access to or from the Internet. Reservation string `json:"reservation"` // The type of IP Address to associate with this instance // for a Dynamic IP address specify `ippool:/oracle/public/ippool`. // for a Static IP address specify the three part name of the existing IP reservation ParentPool string `json:"parentpool"` // Uniform Resource Identifier for the IP Association URI string `json:"uri"` // The three-part name of a vcable ID of an instance that is associated with the IP reservation. VCable string `json:"vcable"` }
IPAssociationInfo describes an existing IP association.
type IPAssociationsClient ¶
type IPAssociationsClient struct {
*ResourceClient
}
IPAssociationsClient is a client for the IP Association functions of the Compute API.
func (*IPAssociationsClient) CreateIPAssociation ¶
func (c *IPAssociationsClient) CreateIPAssociation(input *CreateIPAssociationInput) (*IPAssociationInfo, error)
CreateIPAssociation creates a new IP association with the supplied vcable and parentpool.
func (*IPAssociationsClient) DeleteIPAssociation ¶
func (c *IPAssociationsClient) DeleteIPAssociation(input *DeleteIPAssociationInput) error
DeleteIPAssociation deletes the IP association with the given name.
func (*IPAssociationsClient) GetIPAssociation ¶
func (c *IPAssociationsClient) GetIPAssociation(input *GetIPAssociationInput) (*IPAssociationInfo, error)
GetIPAssociation retrieves the IP association with the given name.
type IPNetworkExchangeInfo ¶
type IPNetworkExchangeInfo struct { // The name of the IP Network Exchange Name string `json:"name"` // Description of the IP Network Exchange Description string `json:"description"` // Slice of tags associated with the IP Network Exchange Tags []string `json:"tags"` // Uniform Resource Identifier for the IP Network Exchange Uri string `json:"uri"` }
IPNetworkExchangeInfo contains the exported fields necessary to hold all the information about an IP Network Exchange
type IPNetworkExchangesClient ¶
type IPNetworkExchangesClient struct {
ResourceClient
}
func (*IPNetworkExchangesClient) CreateIPNetworkExchange ¶
func (c *IPNetworkExchangesClient) CreateIPNetworkExchange(input *CreateIPNetworkExchangeInput) (*IPNetworkExchangeInfo, error)
Create a new IP Network Exchange from an IPNetworkExchangesClient and an input struct. Returns a populated Info struct for the IP Network Exchange, and any errors
func (*IPNetworkExchangesClient) DeleteIPNetworkExchange ¶
func (c *IPNetworkExchangesClient) DeleteIPNetworkExchange(input *DeleteIPNetworkExchangeInput) error
func (*IPNetworkExchangesClient) GetIPNetworkExchange ¶
func (c *IPNetworkExchangesClient) GetIPNetworkExchange(input *GetIPNetworkExchangeInput) (*IPNetworkExchangeInfo, error)
Returns a populated IPNetworkExchangeInfo struct from an input struct
type IPNetworkInfo ¶
type IPNetworkInfo struct { // The name of the IP Network Name string `json:"name"` // The CIDR IPv4 prefix associated with the IP Network IPAddressPrefix string `json:"ipAddressPrefix"` // Name of the IP Network Exchange associated with the IP Network IPNetworkExchange string `json:"ipNetworkExchange,omitempty"` // Description of the IP Network Description string `json:"description"` // Whether public internet access was enabled using NAPT for VNICs without any public IP reservation PublicNaptEnabled bool `json:"publicNaptEnabledFlag"` // Slice of tags associated with the IP Network Tags []string `json:"tags"` // Uniform Resource Identifier for the IP Network Uri string `json:"uri"` }
IPNetworkInfo contains the exported fields necessary to hold all the information about an IP Network
type IPNetworksClient ¶
type IPNetworksClient struct {
ResourceClient
}
func (*IPNetworksClient) CreateIPNetwork ¶
func (c *IPNetworksClient) CreateIPNetwork(input *CreateIPNetworkInput) (*IPNetworkInfo, error)
Create a new IP Network from an IPNetworksClient and an input struct. Returns a populated Info struct for the IP Network, and any errors
func (*IPNetworksClient) DeleteIPNetwork ¶
func (c *IPNetworksClient) DeleteIPNetwork(input *DeleteIPNetworkInput) error
func (*IPNetworksClient) GetIPNetwork ¶
func (c *IPNetworksClient) GetIPNetwork(input *GetIPNetworkInput) (*IPNetworkInfo, error)
Returns a populated IPNetworkInfo struct from an input struct
func (*IPNetworksClient) UpdateIPNetwork ¶
func (c *IPNetworksClient) UpdateIPNetwork(input *UpdateIPNetworkInput) (*IPNetworkInfo, error)
type IPReservation ¶
type IPReservation struct { // Shows the default account for your identity domain. Account string `json:"account"` // Public IP address. IP string `json:"ip"` // The three-part name of the IP Reservation (/Compute-identity_domain/user/object). Name string `json:"name"` // Pool of public IP addresses ParentPool IPReservationPool `json:"parentpool"` // Is the IP Reservation Persistent (i.e. static) or not (i.e. Dynamic)? Permanent bool `json:"permanent"` // A comma-separated list of strings which helps you to identify IP reservation. Tags []string `json:"tags"` // Uniform Resource Identifier Uri string `json:"uri"` // Is the IP reservation associated with an instance? Used bool `json:"used"` }
IPReservationInput describes an existing IP reservation.
type IPReservationPool ¶
type IPReservationPool string
const (
PublicReservationPool IPReservationPool = "/oracle/public/ippool"
)
type IPReservationsClient ¶
type IPReservationsClient struct {
*ResourceClient
}
IPReservationsClient is a client for the IP Reservations functions of the Compute API.
func (*IPReservationsClient) CreateIPReservation ¶
func (c *IPReservationsClient) CreateIPReservation(input *CreateIPReservationInput) (*IPReservation, error)
CreateIPReservation creates a new IP reservation with the given parentpool, tags and permanent flag.
func (*IPReservationsClient) DeleteIPReservation ¶
func (c *IPReservationsClient) DeleteIPReservation(input *DeleteIPReservationInput) error
DeleteIPReservation deletes the IP reservation with the given name.
func (*IPReservationsClient) GetIPReservation ¶
func (c *IPReservationsClient) GetIPReservation(input *GetIPReservationInput) (*IPReservation, error)
GetIPReservation retrieves the IP reservation with the given name.
func (*IPReservationsClient) UpdateIPReservation ¶
func (c *IPReservationsClient) UpdateIPReservation(input *UpdateIPReservationInput) (*IPReservation, error)
UpdateIPReservation updates the IP reservation.
type ImageList ¶
type ImageList struct { // The image list entry to be used, by default, when launching instances using this image list Default int `json:"default"` // A description of this image list. Description string `json:"description"` // Each machine image in an image list is identified by an image list entry. Entries []ImageListEntry `json:"entries"` // The name of the Image List Name string `json:"name"` // Uniform Resource Identifier URI string `json:"uri"` }
ImageList describes an existing Image List.
type ImageListClient ¶
type ImageListClient struct {
ResourceClient
}
ImageListClient is a client for the Image List functions of the Compute API.
func (*ImageListClient) CreateImageList ¶
func (c *ImageListClient) CreateImageList(createInput *CreateImageListInput) (*ImageList, error)
CreateImageList creates a new Image List with the given name, key and enabled flag.
func (*ImageListClient) DeleteImageList ¶
func (c *ImageListClient) DeleteImageList(deleteInput *DeleteImageListInput) error
DeleteImageList deletes the Image List with the given name.
func (*ImageListClient) GetImageList ¶
func (c *ImageListClient) GetImageList(getInput *GetImageListInput) (*ImageList, error)
GetImageList retrieves the Image List with the given name.
func (*ImageListClient) UpdateImageList ¶
func (c *ImageListClient) UpdateImageList(updateInput *UpdateImageListInput) (*ImageList, error)
UpdateImageList updates the key and enabled flag of the Image List with the given name.
type ImageListEntriesClient ¶
type ImageListEntriesClient struct {
ResourceClient
}
func (*ImageListEntriesClient) CreateImageListEntry ¶
func (c *ImageListEntriesClient) CreateImageListEntry(input *CreateImageListEntryInput) (*ImageListEntryInfo, error)
Create a new Image List Entry from an ImageListEntriesClient and an input struct. Returns a populated Info struct for the Image List Entry, and any errors
func (*ImageListEntriesClient) DeleteImageListEntry ¶
func (c *ImageListEntriesClient) DeleteImageListEntry(input *DeleteImageListEntryInput) error
func (*ImageListEntriesClient) GetImageListEntry ¶
func (c *ImageListEntriesClient) GetImageListEntry(input *GetImageListEntryInput) (*ImageListEntryInfo, error)
Returns a populated ImageListEntryInfo struct from an input struct
type ImageListEntry ¶
type ImageListEntry struct { // User-defined parameters, in JSON format, that can be passed to an instance of this machine image when it is launched. Attributes map[string]interface{} `json:"attributes"` // Name of the Image List. ImageList string `json:"imagelist"` // A list of machine images. MachineImages []string `json:"machineimages"` // Uniform Resource Identifier. URI string `json:"uri"` // Version number of these Machine Images in the Image List. Version int `json:"version"` }
type ImageListEntryInfo ¶
type ImageListEntryInfo struct { // User-defined parameters, in JSON format, that can be passed to an instance of this machine // image when it is launched. This field can be used, for example, to specify the location of // a database server and login details. Instance metadata, including user-defined data is available // at http://192.0.0.192/ within an instance. See Retrieving User-Defined Instance Attributes in Using // Oracle Compute Cloud Service (IaaS). Attributes map[string]interface{} `json:"attributes"` // Name of the imagelist. Name string `json:"imagelist"` // A list of machine images. MachineImages []string `json:"machineimages"` // Uniform Resource Identifier for the Image List Entry Uri string `json:"uri"` // Version number of these machineImages in the imagelist. Version int `json:"version"` }
ImageListEntryInfo contains the exported fields necessary to hold all the information about an Image List Entry
type InstanceDesiredState ¶
type InstanceDesiredState string
const ( InstanceDesiredRunning InstanceDesiredState = "running" InstanceDesiredShutdown InstanceDesiredState = "shutdown" )
type InstanceInfo ¶
type InstanceInfo struct { // The ID for the instance. Set by the SDK based on the request - not the API. ID string // A dictionary of attributes to be made available to the instance. // A value with the key "userdata" will be made available in an EC2-compatible manner. Attributes map[string]interface{} `json:"attributes"` // The availability domain for the instance AvailabilityDomain string `json:"availability_domain"` // Boot order list. BootOrder []int `json:"boot_order"` // The default domain to use for the hostname and DNS lookups Domain string `json:"domain"` // The desired state of an instance DesiredState InstanceDesiredState `json:"desired_state"` // Optional ImageListEntry number. Default will be used if not specified Entry int `json:"entry"` // The reason for the instance going to error state, if available. ErrorReason string `json:"error_reason"` // SSH Server Fingerprint presented by the instance Fingerprint string `json:"fingerprint"` // The hostname for the instance Hostname string `json:"hostname"` // The format of the image ImageFormat string `json:"image_format"` // Name of imagelist to be launched. ImageList string `json:"imagelist"` // IP address of the instance. IPAddress string `json:"ip"` // A label assigned by the user, specifically for defining inter-instance relationships. Label string `json:"label"` // Name of this instance, generated by the server. Name string `json:"name"` // Mapping of to network specifiers for virtual NICs to be attached to this instance. Networking map[string]NetworkingInfo `json:"networking"` // A list of strings specifying arbitrary tags on nodes to be matched on placement. PlacementRequirements []string `json:"placement_requirements"` // The OS platform for the instance. Platform string `json:"platform"` // The priority at which this instance will be run Priority string `json:"priority"` // Reference to the QuotaReservation, to be destroyed with the instance QuotaReservation string `json:"quota_reservation"` // Array of relationship specifications to be satisfied on this instance's placement Relationships []string `json:"relationships"` // Resolvers to use instead of the default resolvers Resolvers []string `json:"resolvers"` // Add PTR records for the hostname ReverseDNS bool `json:"reverse_dns"` // Type of instance, as defined on site configuration. Shape string `json:"shape"` // Site to run on Site string `json:"site"` // ID's of SSH keys that will be exposed to the instance. SSHKeys []string `json:"sshkeys"` // The start time of the instance StartTime string `json:"start_time"` // State of the instance. State InstanceState `json:"state"` // The Storage Attachment information. Storage []StorageAttachment `json:"storage_attachments"` // Array of tags associated with the instance. Tags []string `json:"tags"` // vCable for this instance. VCableID string `json:"vcable_id"` // Specify if the devices created for the instance are virtio devices. If not specified, the default // will come from the cluster configuration file Virtio bool `json:"virtio,omitempty"` // IP Address and port of the VNC console for the instance VNC string `json:"vnc"` }
InstanceInfo represents the Compute API's view of the state of an instance.
type InstanceState ¶
type InstanceState string
const ( InstanceRunning InstanceState = "running" InstanceInitializing InstanceState = "initializing" InstancePreparing InstanceState = "preparing" InstanceStarting InstanceState = "starting" InstanceStopping InstanceState = "stopping" InstanceShutdown InstanceState = "shutdown" InstanceQueued InstanceState = "queued" InstanceError InstanceState = "error" )
type InstancesClient ¶
type InstancesClient struct {
ResourceClient
}
InstancesClient is a client for the Instance functions of the Compute API.
func (*InstancesClient) CreateInstance ¶
func (c *InstancesClient) CreateInstance(input *CreateInstanceInput) (*InstanceInfo, error)
LaunchInstance creates and submits a LaunchPlan to launch a new instance.
func (*InstancesClient) DeleteInstance ¶
func (c *InstancesClient) DeleteInstance(input *DeleteInstanceInput) error
DeleteInstance deletes an instance.
func (*InstancesClient) GetInstance ¶
func (c *InstancesClient) GetInstance(input *GetInstanceInput) (*InstanceInfo, error)
GetInstance retrieves information about an instance.
func (*InstancesClient) UpdateInstance ¶
func (c *InstancesClient) UpdateInstance(input *UpdateInstanceInput) (*InstanceInfo, error)
func (*InstancesClient) WaitForInstanceDeleted ¶
func (c *InstancesClient) WaitForInstanceDeleted(input *DeleteInstanceInput, timeout time.Duration) error
WaitForInstanceDeleted waits for an instance to be fully deleted.
func (*InstancesClient) WaitForInstanceRunning ¶
func (c *InstancesClient) WaitForInstanceRunning(input *GetInstanceInput, timeout time.Duration) (*InstanceInfo, error)
WaitForInstanceRunning waits for an instance to be completely initialized and available.
func (*InstancesClient) WaitForInstanceShutdown ¶
func (c *InstancesClient) WaitForInstanceShutdown(input *GetInstanceInput, timeout time.Duration) (*InstanceInfo, error)
WaitForInstanceShutdown waits for an instance to be shutdown
type LaunchPlanInput ¶
type LaunchPlanInput struct { // Describes an array of instances which should be launched Instances []CreateInstanceInput `json:"instances"` // Time to wait for instance boot Timeout time.Duration `json:"-"` }
LaunchPlan defines a launch plan, used to launch instances with the supplied InstanceSpec(s)
type LaunchPlanResponse ¶
type LaunchPlanResponse struct { // An array of instances which have been launched Instances []InstanceInfo `json:"instances"` }
type MachineImagesClient ¶ added in v0.1.2
type MachineImagesClient struct {
ResourceClient
}
MachineImagesClient is a client for the MachineImage functions of the Compute API.
func (*MachineImagesClient) DeleteMachineImage ¶ added in v0.1.2
func (c *MachineImagesClient) DeleteMachineImage(deleteInput *DeleteMachineImageInput) error
DeleteMachineImage deletes the MachineImage with the given name.
type NetworkingInfo ¶
type NetworkingInfo struct { // The DNS name for the Shared network (Required) // DNS A Record for an IP Network (Optional) DNS []string `json:"dns,omitempty"` // IP Network only. // If you want to associate a static private IP Address, // specify that here within the range of the supplied IPNetwork attribute. // Optional IPAddress string `json:"ip,omitempty"` // IP Network only. // The name of the IP Network you want to add the instance to. // Required IPNetwork string `json:"ipnetwork,omitempty"` // IP Network only. // The hexadecimal MAC Address of the interface // Optional MACAddress string `json:"address,omitempty"` // Shared Network only. // The type of NIC used. Must be set to 'e1000' // Required Model NICModel `json:"model,omitempty"` // IP Network and Shared Network // The name servers that are sent through DHCP as option 6. // You can specify a maximum of eight name server IP addresses per interface. // Optional NameServers []string `json:"name_servers,omitempty"` // The names of an IP Reservation to associate in an IP Network (Optional) // Indicates whether a temporary or permanent public IP Address should be assigned // in a Shared Network (Required) Nat []string `json:"nat,omitempty"` // IP Network and Shared Network // The search domains that should be sent through DHCP as option 119. // You can enter a maximum of eight search domain zones per interface. // Optional SearchDomains []string `json:"search_domains,omitempty"` // Shared Network only. // The security lists that you want to add the instance to // Required SecLists []string `json:"seclists,omitempty"` // IP Network Only // The name of the vNIC // Optional Vnic string `json:"vnic,omitempty"` // IP Network only. // The names of the vNICSets you want to add the interface to. // Optional VnicSets []string `json:"vnicsets,omitempty"` }
Struct of Networking info from a populated instance, or to be used as input to create an instance
type ResourceClient ¶
type ResourceClient struct { *ComputeClient ResourceDescription string ContainerPath string ResourceRootPath string }
ResourceClient is an AuthenticatedClient with some additional information about the resources to be addressed.
type RouteInfo ¶
type RouteInfo struct { // Admin distance associated with this route AdminDistance int `json:"adminDistance"` // Description of the route Description string `json:"description"` // CIDR IPv4 Prefix associated with this route IPAddressPrefix string `json:"ipAddressPrefix"` // Name of the route Name string `json:"name"` // Name of the VNIC set associated with the route NextHopVnicSet string `json:"nextHopVnicSet"` // Slice of Tags associated with the route Tags []string `json:"tags,omitempty"` // Uniform resource identifier associated with the route Uri string `json:"uri"` }
type RoutesClient ¶
type RoutesClient struct {
ResourceClient
}
func (*RoutesClient) CreateRoute ¶
func (c *RoutesClient) CreateRoute(input *CreateRouteInput) (*RouteInfo, error)
func (*RoutesClient) DeleteRoute ¶
func (c *RoutesClient) DeleteRoute(input *DeleteRouteInput) error
func (*RoutesClient) GetRoute ¶
func (c *RoutesClient) GetRoute(input *GetRouteInput) (*RouteInfo, error)
func (*RoutesClient) UpdateRoute ¶
func (c *RoutesClient) UpdateRoute(input *UpdateRouteInput) (*RouteInfo, error)
type SSHKey ¶
type SSHKey struct { // Indicates whether the key is enabled (true) or disabled. Enabled bool `json:"enabled"` // The SSH public key value. Key string `json:"key"` // The three-part name of the SSH Key (/Compute-identity_domain/user/object). Name string `json:"name"` // Unique Resource Identifier URI string `json:"uri"` }
SSHKeyInfo describes an existing SSH key.
type SSHKeysClient ¶
type SSHKeysClient struct {
ResourceClient
}
SSHKeysClient is a client for the SSH key functions of the Compute API.
func (*SSHKeysClient) CreateSSHKey ¶
func (c *SSHKeysClient) CreateSSHKey(createInput *CreateSSHKeyInput) (*SSHKey, error)
CreateSSHKey creates a new SSH key with the given name, key and enabled flag.
func (*SSHKeysClient) DeleteSSHKey ¶
func (c *SSHKeysClient) DeleteSSHKey(deleteInput *DeleteSSHKeyInput) error
DeleteSSHKey deletes the SSH key with the given name.
func (*SSHKeysClient) GetSSHKey ¶
func (c *SSHKeysClient) GetSSHKey(getInput *GetSSHKeyInput) (*SSHKey, error)
GetSSHKey retrieves the SSH key with the given name.
func (*SSHKeysClient) UpdateSSHKey ¶
func (c *SSHKeysClient) UpdateSSHKey(updateInput *UpdateSSHKeyInput) (*SSHKey, error)
UpdateSSHKey updates the key and enabled flag of the SSH key with the given name.
type SecRuleInfo ¶
type SecRuleInfo struct { // Set this parameter to PERMIT. Action string `json:"action"` // The name of the security application Application string `json:"application"` // A description of the sec rule Description string `json:"description"` // Indicates whether the security rule is enabled Disabled bool `json:"disabled"` // The name of the destination security list or security IP list. DestinationList string `json:"dst_list"` // The name of the sec rule Name string `json:"name"` // The name of the source security list or security IP list. SourceList string `json:"src_list"` // Uniform Resource Identifier for the sec rule URI string `json:"uri"` }
SecRuleInfo describes an existing sec rule.
type SecRulesClient ¶
type SecRulesClient struct {
ResourceClient
}
SecRulesClient is a client for the Sec Rules functions of the Compute API.
func (*SecRulesClient) CreateSecRule ¶
func (c *SecRulesClient) CreateSecRule(createInput *CreateSecRuleInput) (*SecRuleInfo, error)
CreateSecRule creates a new sec rule.
func (*SecRulesClient) DeleteSecRule ¶
func (c *SecRulesClient) DeleteSecRule(deleteInput *DeleteSecRuleInput) error
DeleteSecRule deletes the sec rule with the given name.
func (*SecRulesClient) GetSecRule ¶
func (c *SecRulesClient) GetSecRule(getInput *GetSecRuleInput) (*SecRuleInfo, error)
GetSecRule retrieves the sec rule with the given name.
func (*SecRulesClient) UpdateSecRule ¶
func (c *SecRulesClient) UpdateSecRule(updateInput *UpdateSecRuleInput) (*SecRuleInfo, error)
UpdateSecRule modifies the properties of the sec rule with the given name.
type SecurityApplicationICMPCode ¶
type SecurityApplicationICMPCode string
const ( Admin SecurityApplicationICMPCode = "admin" Df SecurityApplicationICMPCode = "df" Host SecurityApplicationICMPCode = "host" Network SecurityApplicationICMPCode = "network" Port SecurityApplicationICMPCode = "port" Protocol SecurityApplicationICMPCode = "protocol" )
type SecurityApplicationICMPType ¶
type SecurityApplicationICMPType string
const ( Echo SecurityApplicationICMPType = "echo" Reply SecurityApplicationICMPType = "reply" TTL SecurityApplicationICMPType = "ttl" TraceRoute SecurityApplicationICMPType = "traceroute" Unreachable SecurityApplicationICMPType = "unreachable" )
type SecurityApplicationInfo ¶
type SecurityApplicationInfo struct { // A description of the security application. Description string `json:"description"` // The TCP or UDP destination port number. This can be a port range, such as 5900-5999 for TCP. DPort string `json:"dport"` // The ICMP code. ICMPCode SecurityApplicationICMPCode `json:"icmpcode"` // The ICMP type. ICMPType SecurityApplicationICMPType `json:"icmptype"` // The three-part name of the Security Application (/Compute-identity_domain/user/object). Name string `json:"name"` // The protocol to use. Protocol SecurityApplicationProtocol `json:"protocol"` // The Uniform Resource Identifier URI string `json:"uri"` }
SecurityApplicationInfo describes an existing security application.
type SecurityApplicationProtocol ¶
type SecurityApplicationProtocol string
const ( All SecurityApplicationProtocol = "all" AH SecurityApplicationProtocol = "ah" ESP SecurityApplicationProtocol = "esp" ICMP SecurityApplicationProtocol = "icmp" ICMPV6 SecurityApplicationProtocol = "icmpv6" IGMP SecurityApplicationProtocol = "igmp" IPIP SecurityApplicationProtocol = "ipip" GRE SecurityApplicationProtocol = "gre" MPLSIP SecurityApplicationProtocol = "mplsip" OSPF SecurityApplicationProtocol = "ospf" PIM SecurityApplicationProtocol = "pim" RDP SecurityApplicationProtocol = "rdp" SCTP SecurityApplicationProtocol = "sctp" TCP SecurityApplicationProtocol = "tcp" UDP SecurityApplicationProtocol = "udp" )
type SecurityApplicationsClient ¶
type SecurityApplicationsClient struct {
ResourceClient
}
SecurityApplicationsClient is a client for the Security Application functions of the Compute API.
func (*SecurityApplicationsClient) CreateSecurityApplication ¶
func (c *SecurityApplicationsClient) CreateSecurityApplication(input *CreateSecurityApplicationInput) (*SecurityApplicationInfo, error)
CreateSecurityApplication creates a new security application.
func (*SecurityApplicationsClient) DeleteSecurityApplication ¶
func (c *SecurityApplicationsClient) DeleteSecurityApplication(input *DeleteSecurityApplicationInput) error
DeleteSecurityApplication deletes the security application with the given name.
func (*SecurityApplicationsClient) GetSecurityApplication ¶
func (c *SecurityApplicationsClient) GetSecurityApplication(input *GetSecurityApplicationInput) (*SecurityApplicationInfo, error)
GetSecurityApplication retrieves the security application with the given name.
type SecurityAssociationInfo ¶
type SecurityAssociationInfo struct { // The three-part name of the Security Association (/Compute-identity_domain/user/object). Name string `json:"name"` // The name of the Security List that you want to associate with the instance. SecList string `json:"seclist"` // vCable of the instance that you want to associate with the security list. VCable string `json:"vcable"` // Uniform Resource Identifier URI string `json:"uri"` }
SecurityAssociationInfo describes an existing security association.
type SecurityAssociationsClient ¶
type SecurityAssociationsClient struct {
ResourceClient
}
SecurityAssociationsClient is a client for the Security Association functions of the Compute API.
func (*SecurityAssociationsClient) CreateSecurityAssociation ¶
func (c *SecurityAssociationsClient) CreateSecurityAssociation(createInput *CreateSecurityAssociationInput) (*SecurityAssociationInfo, error)
CreateSecurityAssociation creates a security association between the given VCable and security list.
func (*SecurityAssociationsClient) DeleteSecurityAssociation ¶
func (c *SecurityAssociationsClient) DeleteSecurityAssociation(deleteInput *DeleteSecurityAssociationInput) error
DeleteSecurityAssociation deletes the security association with the given name.
func (*SecurityAssociationsClient) GetSecurityAssociation ¶
func (c *SecurityAssociationsClient) GetSecurityAssociation(getInput *GetSecurityAssociationInput) (*SecurityAssociationInfo, error)
GetSecurityAssociation retrieves the security association with the given name.
type SecurityIPListInfo ¶
type SecurityIPListInfo struct { // A description of the security IP list. Description string `json:"description"` // The three-part name of the object (/Compute-identity_domain/user/object). Name string `json:"name"` // A comma-separated list of the subnets (in CIDR format) or IPv4 addresses for which you want to create this security IP list. SecIPEntries []string `json:"secipentries"` // Uniform Resource Identifier URI string `json:"uri"` }
SecurityIPListInfo describes an existing security IP list.
type SecurityIPListsClient ¶
type SecurityIPListsClient struct {
ResourceClient
}
SecurityIPListsClient is a client for the Security IP List functions of the Compute API.
func (*SecurityIPListsClient) CreateSecurityIPList ¶
func (c *SecurityIPListsClient) CreateSecurityIPList(createInput *CreateSecurityIPListInput) (*SecurityIPListInfo, error)
CreateSecurityIPList creates a security IP list with the given name and entries.
func (*SecurityIPListsClient) DeleteSecurityIPList ¶
func (c *SecurityIPListsClient) DeleteSecurityIPList(deleteInput *DeleteSecurityIPListInput) error
DeleteSecurityIPList deletes the security IP list with the given name.
func (*SecurityIPListsClient) GetSecurityIPList ¶
func (c *SecurityIPListsClient) GetSecurityIPList(getInput *GetSecurityIPListInput) (*SecurityIPListInfo, error)
GetSecurityIPList gets the security IP list with the given name.
func (*SecurityIPListsClient) UpdateSecurityIPList ¶
func (c *SecurityIPListsClient) UpdateSecurityIPList(updateInput *UpdateSecurityIPListInput) (*SecurityIPListInfo, error)
UpdateSecurityIPList modifies the entries in the security IP list with the given name.
type SecurityListInfo ¶
type SecurityListInfo struct { // Shows the default account for your identity domain. Account string `json:"account"` // A description of the security list. Description string `json:description` // The three-part name of the security list (/Compute-identity_domain/user/object). Name string `json:"name"` // The policy for outbound traffic from the security list. OutboundCIDRPolicy SecurityListPolicy `json:"outbound_cidr_policy"` // The policy for inbound traffic to the security list Policy SecurityListPolicy `json:"policy"` // Uniform Resource Identifier URI string `json:"uri"` }
SecurityListInfo describes an existing security list.
type SecurityListPolicy ¶
type SecurityListPolicy string
const ( SecurityListPolicyDeny SecurityListPolicy = "deny" SecurityListPolicyReject SecurityListPolicy = "reject" SecurityListPolicyPermit SecurityListPolicy = "permit" )
type SecurityListsClient ¶
type SecurityListsClient struct {
ResourceClient
}
SecurityListsClient is a client for the Security List functions of the Compute API.
func (*SecurityListsClient) CreateSecurityList ¶
func (c *SecurityListsClient) CreateSecurityList(createInput *CreateSecurityListInput) (*SecurityListInfo, error)
CreateSecurityList creates a new security list with the given name, policy and outbound CIDR policy.
func (*SecurityListsClient) DeleteSecurityList ¶
func (c *SecurityListsClient) DeleteSecurityList(deleteInput *DeleteSecurityListInput) error
DeleteSecurityList deletes the security list with the given name.
func (*SecurityListsClient) GetSecurityList ¶
func (c *SecurityListsClient) GetSecurityList(getInput *GetSecurityListInput) (*SecurityListInfo, error)
GetSecurityList retrieves the security list with the given name.
func (*SecurityListsClient) UpdateSecurityList ¶
func (c *SecurityListsClient) UpdateSecurityList(updateInput *UpdateSecurityListInput) (*SecurityListInfo, error)
UpdateSecurityList updates the policy and outbound CIDR pol
type SecurityProtocolInfo ¶
type SecurityProtocolInfo struct { // List of port numbers or port range strings to match the packet's destination port. DstPortSet []string `json:"dstPortSet"` // Protocol used in the data portion of the IP datagram. IPProtocol string `json:"ipProtocol"` // List of port numbers or port range strings to match the packet's source port. SrcPortSet []string `json:"srcPortSet"` // The name of the Security Protocol Name string `json:"name"` // Description of the Security Protocol Description string `json:"description"` // Slice of tags associated with the Security Protocol Tags []string `json:"tags"` // Uniform Resource Identifier for the Security Protocol Uri string `json:"uri"` }
SecurityProtocolInfo contains the exported fields necessary to hold all the information about an Security Protocol
type SecurityProtocolsClient ¶
type SecurityProtocolsClient struct {
ResourceClient
}
func (*SecurityProtocolsClient) CreateSecurityProtocol ¶
func (c *SecurityProtocolsClient) CreateSecurityProtocol(input *CreateSecurityProtocolInput) (*SecurityProtocolInfo, error)
Create a new Security Protocol from an SecurityProtocolsClient and an input struct. Returns a populated Info struct for the Security Protocol, and any errors
func (*SecurityProtocolsClient) DeleteSecurityProtocol ¶
func (c *SecurityProtocolsClient) DeleteSecurityProtocol(input *DeleteSecurityProtocolInput) error
func (*SecurityProtocolsClient) GetSecurityProtocol ¶
func (c *SecurityProtocolsClient) GetSecurityProtocol(input *GetSecurityProtocolInput) (*SecurityProtocolInfo, error)
Returns a populated SecurityProtocolInfo struct from an input struct
func (*SecurityProtocolsClient) UpdateSecurityProtocol ¶
func (c *SecurityProtocolsClient) UpdateSecurityProtocol(updateInput *UpdateSecurityProtocolInput) (*SecurityProtocolInfo, error)
UpdateSecurityProtocol update the security protocol
type SecurityRuleClient ¶
type SecurityRuleClient struct {
ResourceClient
}
func (*SecurityRuleClient) CreateSecurityRule ¶
func (c *SecurityRuleClient) CreateSecurityRule(input *CreateSecurityRuleInput) (*SecurityRuleInfo, error)
Create a new Security Rule from an SecurityRuleClient and an input struct. Returns a populated Info struct for the Security Rule, and any errors
func (*SecurityRuleClient) DeleteSecurityRule ¶
func (c *SecurityRuleClient) DeleteSecurityRule(input *DeleteSecurityRuleInput) error
func (*SecurityRuleClient) GetSecurityRule ¶
func (c *SecurityRuleClient) GetSecurityRule(input *GetSecurityRuleInput) (*SecurityRuleInfo, error)
Returns a populated SecurityRuleInfo struct from an input struct
func (*SecurityRuleClient) UpdateSecurityRule ¶
func (c *SecurityRuleClient) UpdateSecurityRule(updateInput *UpdateSecurityRuleInput) (*SecurityRuleInfo, error)
UpdateSecRule modifies the properties of the sec rule with the given name.
type SecurityRuleInfo ¶
type SecurityRuleInfo struct { // Name of the ACL that contains this rule. ACL string `json:"acl"` // Description of the Security Rule Description string `json:"description"` // List of IP address prefix set names to match the packet's destination IP address. DstIpAddressPrefixSets []string `json:"dstIpAddressPrefixSets"` // Name of virtual NIC set containing the packet's destination virtual NIC. DstVnicSet string `json:"dstVnicSet"` // Allows the security rule to be disabled. Enabled bool `json:"enabledFlag"` // Direction of the flow; Can be "egress" or "ingress". FlowDirection string `json:"FlowDirection"` // The name of the Security Rule Name string `json:"name"` // List of security protocol names to match the packet's protocol and port. SecProtocols []string `json:"secProtocols"` // List of multipart names of IP address prefix set to match the packet's source IP address. SrcIpAddressPrefixSets []string `json:"srcIpAddressPrefixSets"` // Name of virtual NIC set containing the packet's source virtual NIC. SrcVnicSet string `json:"srcVnicSet"` // Slice of tags associated with the Security Rule Tags []string `json:"tags"` // Uniform Resource Identifier for the Security Rule Uri string `json:"uri"` }
SecurityRuleInfo contains the exported fields necessary to hold all the information about a Security Rule
type Snapshot ¶ added in v0.1.2
type Snapshot struct { // Shows the default account for your identity domain. Account string `json:"account"` // Timestamp when this request was created. CreationTime string `json:"creation_time"` // Snapshot of the instance is not taken immediately. Delay SnapshotDelay `json:"delay"` // A description of the reason this request entered "error" state. ErrorReason string `json:"error_reason"` // Name of the instance Instance string `json:"instance"` // Name of the machine image generated from the instance snapshot request. MachineImage string `json:"machineimage"` // Name of the instance snapshot request. Name string `json:"name"` // Not used Quota string `json:"quota"` // The state of the request. State SnapshotState `json:"state"` // Uniform Resource Identifier URI string `json:"uri"` }
SnapshotInfo describes an existing Snapshot.
type SnapshotDelay ¶ added in v0.1.2
type SnapshotDelay string
const (
SnapshotDelayShutdown SnapshotDelay = "shutdown"
)
type SnapshotState ¶ added in v0.1.2
type SnapshotState string
const ( SnapshotActive SnapshotState = "active" SnapshotComplete SnapshotState = "complete" SnapshotQueued SnapshotState = "queued" SnapshotError SnapshotState = "error" )
type SnapshotsClient ¶ added in v0.1.2
type SnapshotsClient struct {
ResourceClient
}
SnapshotsClient is a client for the Snapshot functions of the Compute API.
func (*SnapshotsClient) CreateSnapshot ¶ added in v0.1.2
func (c *SnapshotsClient) CreateSnapshot(input *CreateSnapshotInput) (*Snapshot, error)
CreateSnapshot creates a new Snapshot
func (*SnapshotsClient) DeleteSnapshot ¶ added in v0.1.2
func (c *SnapshotsClient) DeleteSnapshot(machineImagesClient *MachineImagesClient, input *DeleteSnapshotInput) error
DeleteSnapshot deletes the Snapshot with the given name. A machine image gets created with the associated snapshot and needs to be deleted as well.
func (*SnapshotsClient) GetSnapshot ¶ added in v0.1.2
func (c *SnapshotsClient) GetSnapshot(getInput *GetSnapshotInput) (*Snapshot, error)
GetSnapshot retrieves the Snapshot with the given name.
func (*SnapshotsClient) WaitForSnapshotComplete ¶ added in v0.1.2
func (c *SnapshotsClient) WaitForSnapshotComplete(input *GetSnapshotInput, timeout time.Duration) (*Snapshot, error)
WaitForSnapshotComplete waits for an snapshot to be completely initialized and available.
type StorageAttachment ¶
type StorageAttachment struct { // The index number for the volume. Index int `json:"index"` // The three-part name (/Compute-identity_domain/user/object) of the storage attachment. Name string `json:"name"` // The three-part name (/Compute-identity_domain/user/object) of the storage volume attached to the instance. StorageVolumeName string `json:"storage_volume_name"` }
type StorageAttachmentInfo ¶
type StorageAttachmentInfo struct { // Name of this attachment, generated by the server. Name string `json:"name"` // Index number for the volume. The allowed range is 1-10 // An attachment with index 1 is exposed to the instance as /dev/xvdb, an attachment with index 2 is exposed as /dev/xvdc, and so on. Index int `json:"index"` // Multipart name of the instance attached to the storage volume. InstanceName string `json:"instance_name"` // Multipart name of the volume attached to the instance. StorageVolumeName string `json:"storage_volume_name"` // The State of the Storage Attachment State StorageAttachmentState `json:"state"` }
StorageAttachmentInfo describes an existing storage attachment.
type StorageAttachmentInput ¶
type StorageAttachmentInput struct { // The index number for the volume. The allowed range is 1 to 10. // If you want to use a storage volume as the boot disk for an instance, you must specify the index number for that volume as 1. // The index determines the device name by which the volume is exposed to the instance. Index int `json:"index"` // The three-part name (/Compute-identity_domain/user/object) of the storage volume that you want to attach to the instance. // Note that volumes attached to an instance at launch time can't be detached. Volume string `json:"volume"` }
type StorageAttachmentState ¶
type StorageAttachmentState string
const ( Attaching StorageAttachmentState = "attaching" Attached StorageAttachmentState = "attached" Detaching StorageAttachmentState = "detaching" Unknown StorageAttachmentState = "unknown" )
type StorageAttachmentsClient ¶
type StorageAttachmentsClient struct {
ResourceClient
}
StorageAttachmentsClient is a client for the Storage Attachment functions of the Compute API.
func (*StorageAttachmentsClient) CreateStorageAttachment ¶
func (c *StorageAttachmentsClient) CreateStorageAttachment(input *CreateStorageAttachmentInput) (*StorageAttachmentInfo, error)
CreateStorageAttachment creates a storage attachment attaching the given volume to the given instance at the given index.
func (*StorageAttachmentsClient) DeleteStorageAttachment ¶
func (c *StorageAttachmentsClient) DeleteStorageAttachment(input *DeleteStorageAttachmentInput) error
DeleteStorageAttachment deletes the storage attachment with the given name.
func (*StorageAttachmentsClient) GetStorageAttachment ¶
func (c *StorageAttachmentsClient) GetStorageAttachment(input *GetStorageAttachmentInput) (*StorageAttachmentInfo, error)
GetStorageAttachment retrieves the storage attachment with the given name.
type StorageVolumeClient ¶
type StorageVolumeClient struct {
ResourceClient
}
StorageVolumeClient is a client for the Storage Volume functions of the Compute API.
func (*StorageVolumeClient) CreateStorageVolume ¶
func (c *StorageVolumeClient) CreateStorageVolume(input *CreateStorageVolumeInput) (*StorageVolumeInfo, error)
CreateStorageVolume uses the given CreateStorageVolumeInput to create a new Storage Volume.
func (*StorageVolumeClient) DeleteStorageVolume ¶
func (c *StorageVolumeClient) DeleteStorageVolume(input *DeleteStorageVolumeInput) error
DeleteStorageVolume deletes the specified storage volume.
func (*StorageVolumeClient) GetStorageVolume ¶
func (c *StorageVolumeClient) GetStorageVolume(input *GetStorageVolumeInput) (*StorageVolumeInfo, error)
GetStorageVolume gets Storage Volume information for the specified storage volume.
func (*StorageVolumeClient) UpdateStorageVolume ¶
func (c *StorageVolumeClient) UpdateStorageVolume(input *UpdateStorageVolumeInput) (*StorageVolumeInfo, error)
UpdateStorageVolume updates the specified storage volume, optionally modifying size, description and tags.
type StorageVolumeInfo ¶
type StorageVolumeInfo struct { // Shows the default account for your identity domain. Account string `json:"account,omitempty"` // true indicates that the storage volume can also be used as a boot disk for an instance. // If you set the value to true, then you must specify values for the `ImageList` and `ImageListEntry` fields. Bootable bool `json:"bootable,omitempty"` // The description of the storage volume. Description string `json:"description,omitempty"` // The hypervisor that this volume is compatible with. Hypervisor string `json:"hypervisor,omitempty"` // Name of machine image to extract onto this volume when created. This information is provided only for bootable storage volumes. ImageList string `json:"imagelist,omitempty"` // Specific imagelist entry version to extract. ImageListEntry int `json:"imagelist_entry,omitempty"` // Three-part name of the machine image. This information is available if the volume is a bootable storage volume. MachineImage string `json:"machineimage_name,omitempty"` // All volumes are managed volumes. Default value is true. Managed bool `json:"managed,omitempty"` // The three-part name of the object (/Compute-identity_domain/user/object). Name string `json:"name"` // The OS platform this volume is compatible with. Platform string `json:"platform,omitempty"` // The storage-pool property: /oracle/public/storage/latency or /oracle/public/storage/default. Properties []string `json:"properties,omitempty"` // Boolean field indicating whether this volume can be attached as readonly. If set to False the volume will be attached as read-write. ReadOnly bool `json:"readonly,omitempty"` // The size of this storage volume in GB. Size string `json:"size"` // Name of the parent snapshot from which the storage volume is restored or cloned. Snapshot string `json:"snapshot,omitempty"` // Account of the parent snapshot from which the storage volume is restored. SnapshotAccount string `json:"snapshot_account,omitempty"` // Id of the parent snapshot from which the storage volume is restored or cloned. SnapshotID string `json:"snapshot_id,omitempty"` // TODO: this should become a Constant, if/when we have the values // The current state of the storage volume. Status string `json:"status,omitempty"` // Details about the latest state of the storage volume. StatusDetail string `json:"status_detail,omitempty"` // It indicates the time that the current view of the storage volume was generated. StatusTimestamp string `json:"status_timestamp,omitempty"` // The storage pool from which this volume is allocated. StoragePool string `json:"storage_pool,omitempty"` // Comma-separated strings that tag the storage volume. Tags []string `json:"tags,omitempty"` // Uniform Resource Identifier URI string `json:"uri,omitempty"` }
StorageVolumeInfo represents information retrieved from the service about a Storage Volume.
type StorageVolumeKind ¶
type StorageVolumeKind string
const ( StorageVolumeKindDefault StorageVolumeKind = "/oracle/public/storage/default" StorageVolumeKindLatency StorageVolumeKind = "/oracle/public/storage/latency" StorageVolumeKindSSD StorageVolumeKind = "/oracle/public/storage/ssd/gpl" )
type StorageVolumeSnapshotClient ¶
type StorageVolumeSnapshotClient struct {
ResourceClient
}
StorageVolumeSnapshotClient is a client for the Storage Volume Snapshot functions of the Compute API.
func (*StorageVolumeSnapshotClient) CreateStorageVolumeSnapshot ¶
func (c *StorageVolumeSnapshotClient) CreateStorageVolumeSnapshot(input *CreateStorageVolumeSnapshotInput) (*StorageVolumeSnapshotInfo, error)
CreateStorageVolumeSnapshot creates a snapshot based on the supplied information struct
func (*StorageVolumeSnapshotClient) DeleteStorageVolumeSnapshot ¶
func (c *StorageVolumeSnapshotClient) DeleteStorageVolumeSnapshot(input *DeleteStorageVolumeSnapshotInput) error
DeleteStoragevolumeSnapshot makes an API request to delete a storage volume snapshot
func (*StorageVolumeSnapshotClient) GetStorageVolumeSnapshot ¶
func (c *StorageVolumeSnapshotClient) GetStorageVolumeSnapshot(input *GetStorageVolumeSnapshotInput) (*StorageVolumeSnapshotInfo, error)
GetStorageVolumeSnapshot makes an API request to populate information on a storage volume snapshot
type StorageVolumeSnapshotInfo ¶
type StorageVolumeSnapshotInfo struct { // Account to use for snapshots Account string `json:"account"` // Description of the snapshot Description string `json:"description"` // The name of the machine image that's used in the boot volume from which this snapshot is taken MachineImageName string `json:"machineimage_name"` // Name of the snapshot Name string `json:"name"` // String indicating whether the parent volume is bootable or not ParentVolumeBootable string `json:"parent_volume_bootable"` // Platform the snapshot is compatible with Platform string `json:"platform"` // String determining whether the snapshot is remote or collocated Property string `json:"property"` // The size of the snapshot in GB Size string `json:"size"` // The ID of the snapshot. Generated by the server SnapshotID string `json:"snapshot_id"` // The timestamp of the storage snapshot SnapshotTimestamp string `json:"snapshot_timestamp"` // Timestamp for when the operation started StartTimestamp string `json:"start_timestamp"` // Status of the snapshot Status string `json:"status"` // Status Detail of the storage snapshot StatusDetail string `json:"status_detail"` // Indicates the time that the current view of the storage volume snapshot was generated. StatusTimestamp string `json:"status_timestamp"` // Array of tags for the snapshot Tags []string `json:"tags,omitempty"` // Uniform Resource Identifier URI string `json:"uri"` // Name of the parent storage volume for the snapshot Volume string `json:"volume"` }
StorageVolumeSnapshotInfo represents the information retrieved from the service about a storage volume snapshot
type UpdateACLInput ¶
type UpdateACLInput struct { // Description of the ACL // Optional Description string `json:"description"` // Enables or disables the ACL. Set to true by default. //Set this to false to disable the ACL. // Optional Enabled bool `json:"enabledFlag"` // The name of the ACL to create. Object names can only contain alphanumeric, // underscore, dash, and period characters. Names are case-sensitive. // Required Name string `json:"name"` // Strings that you can use to tag the ACL. // Optional Tags []string `json:"tags"` }
UpdateACLInput describes a secruity rule to update
type UpdateIPAddressAssociationInput ¶
type UpdateIPAddressAssociationInput struct { // The name of the IP Address Association to create. Object names can only contain alphanumeric, // underscore, dash, and period characters. Names are case-sensitive. // Required Name string `json:"name"` // The name of the NAT IP address reservation. // Optional IPAddressReservation string `json:"ipAddressReservation,omitempty"` // Name of the virtual NIC associated with this NAT IP reservation. // Optional Vnic string `json:"vnic,omitempty"` // Description of the IPAddressAssociation // Optional Description string `json:"description"` // String slice of tags to apply to the IP Address Association object // Optional Tags []string `json:"tags"` }
UpdateIPAddressAssociationInput defines what to update in a ip address association
type UpdateIPAddressPrefixSetInput ¶
type UpdateIPAddressPrefixSetInput struct { // The name of the IP Address Prefix Set to create. Object names can only contain alphanumeric, // underscore, dash, and period characters. Names are case-sensitive. // Required Name string `json:"name"` // Description of the IPAddressPrefixSet // Optional Description string `json:"description"` // List of CIDR IPv4 prefixes assigned in the virtual network. IPAddressPrefixes []string `json:"ipAddressPrefixes"` // String slice of tags to apply to the IP Address Prefix Set object // Optional Tags []string `json:"tags"` }
UpdateIPAddressPrefixSetInput defines what to update in a ip address prefix set
type UpdateIPAddressReservationInput ¶
type UpdateIPAddressReservationInput struct { // Description of the IP Address Reservation // Optional Description string `json:"description"` // IP Address pool from which to reserve an IP Address. // Can be one of the following: // // 'public-ippool' - When you attach an IP Address from this pool to an instance, you enable // access between the public Internet and the instance // 'cloud-ippool' - When you attach an IP Address from this pool to an instance, the instance // can communicate privately with other Oracle Cloud Services // Optional IPAddressPool string `json:"ipAddressPool"` // The name of the reservation to create // Required Name string `json:"name"` // Tags to associate with the IP Reservation // Optional Tags []string `json:"tags"` }
Parameters to update an IP Address reservation
type UpdateIPNetworkInput ¶
type UpdateIPNetworkInput struct { // The name of the IP Network to update. Object names can only contain alphanumeric, // underscore, dash, and period characters. Names are case-sensitive. // Required Name string `json:"name"` // Specify the size of the IP Subnet. It is a range of IPv4 addresses assigned in the virtual // network, in CIDR address prefix format. // While specifying the IP address prefix take care of the following points: // //* These IP addresses aren't part of the common pool of Oracle-provided IP addresses used by the shared network. // //* There's no conflict with the range of IP addresses used in another IP network, the IP addresses used your on-premises network, or with the range of private IP addresses used in the shared network. If IP networks with overlapping IP subnets are linked to an IP exchange, packets going to and from those IP networks are dropped. // //* The upper limit of the CIDR block size for an IP network is /16. // //Note: The first IP address of any IP network is reserved for the default gateway, the DHCP server, and the DNS server of that IP network. // Required IPAddressPrefix string `json:"ipAddressPrefix"` //Specify the IP network exchange to which the IP network belongs. //You can add an IP network to only one IP network exchange, but an IP network exchange //can include multiple IP networks. An IP network exchange enables access between IP networks //that have non-overlapping addresses, so that instances on these networks can exchange packets //with each other without NAT. // Optional IPNetworkExchange string `json:"ipNetworkExchange,omitempty"` // Description of the IPNetwork // Optional Description string `json:"description"` // Enable public internet access using NAPT for VNICs without any public IP reservation // Optional PublicNaptEnabled bool `json:"publicNaptEnabledFlag"` // String slice of tags to apply to the IP Network object // Optional Tags []string `json:"tags"` }
type UpdateIPReservationInput ¶
type UpdateIPReservationInput struct { // The name of the object // If you don't specify a name for this object, then the name is generated automatically. // Object names can contain only alphanumeric characters, hyphens, underscores, and periods. // Object names are case-sensitive. // Required Name string `json:"name"` // Pool of public IP addresses. // Required ParentPool IPReservationPool `json:"parentpool"` // Is the IP Reservation Persistent (i.e. static) or not (i.e. Dynamic)? // Required Permanent bool `json:"permanent"` // A comma-separated list of strings which helps you to identify IP reservations. // Optional Tags []string `json:"tags"` }
UpdateIPReservationInput defines an IP Reservation to be updated
type UpdateImageListInput ¶
type UpdateImageListInput struct { // The image list entry to be used, by default, when launching instances using this image list. // If you don't specify this value, it is set to 1. // Optional Default int `json:"default"` // A description of this image list. // Required Description string `json:"description"` // The name of the Image List // Object names can contain only alphanumeric characters, hyphens, underscores, and periods. Object names are case-sensitive. // Required Name string `json:"name"` }
UpdateImageListInput defines an Image List to be updated
type UpdateInstanceInput ¶
type UpdateInstanceInput struct { // Name of this instance, generated by the server. // Required Name string `json:"name"` // The desired state of the opc instance. Can only be `running` or `shutdown` // Omits if empty. // Optional DesiredState InstanceDesiredState `json:"desired_state,omitempty"` // The ID of the instance // Required ID string `json:"-"` // A list of tags to be supplied to the instance // Optional Tags []string `json:"tags,omitempty"` // Time to wait for instance to be ready, or shutdown depending on desired state Timeout time.Duration `json:"-"` }
func (*UpdateInstanceInput) String ¶
func (g *UpdateInstanceInput) String() string
type UpdateRouteInput ¶
type UpdateRouteInput struct { // Specify 0,1, or 2 as the route's administrative distance. // If you do not specify a value, the default value is 0. // The same prefix can be used in multiple routes. In this case, packets are routed over all the matching // routes with the lowest administrative distance. // In the case multiple routes with the same lowest administrative distance match, // routing occurs over all these routes using ECMP. // Optional AdminDistance int `json:"adminDistance"` // Description of the route // Optional Description string `json:"description"` // The IPv4 address prefix in CIDR format, of the external network (external to the vNIC set) // from which you want to route traffic // Required IPAddressPrefix string `json:"ipAddressPrefix"` // Name of the route. // Names can only contain alphanumeric, underscore, dash, and period characters. Case-sensitive // Required Name string `json:"name"` // Name of the virtual NIC set to route matching packets to. // Routed flows are load-balanced among all the virtual NICs in the virtual NIC set // Required NextHopVnicSet string `json:"nextHopVnicSet"` // Slice of tags to be associated with the route // Optional Tags []string `json:"tags"` }
type UpdateSSHKeyInput ¶
type UpdateSSHKeyInput struct { // The three-part name of the object (/Compute-identity_domain/user/object). Name string `json:"name"` // The SSH public key value. // Required Key string `json:"key"` // Indicates whether the key must be enabled (default) or disabled. Note that disabled keys cannot be associated with instances. // To explicitly enable the key, specify true. To disable the key, specify false. // Optional // TODO/NOTE: isn't this required? Enabled bool `json:"enabled"` }
UpdateSSHKeyInput defines an SSH key to be updated
type UpdateSecRuleInput ¶
type UpdateSecRuleInput struct { // Set this parameter to PERMIT. // Required Action string `json:"action"` // The name of the security application for user-defined or predefined security applications. // Required Application string `json:"application"` // Description of the IP Network // Optional Description string `json:"description"` // Indicates whether the sec rule is enabled (set to false) or disabled (true). // The default setting is false. // Optional Disabled bool `json:"disabled"` // The name of the destination security list or security IP list. // // You must use the prefix seclist: or seciplist: to identify the list type. // // You can specify a security IP list as the destination in a secrule, // provided src_list is a security list that has DENY as its outbound policy. // // You cannot specify any of the security IP lists in the /oracle/public container // as a destination in a secrule. // Required DestinationList string `json:"dst_list"` // The name of the Sec Rule to create. Object names can only contain alphanumeric, // underscore, dash, and period characters. Names are case-sensitive. // Required Name string `json:"name"` // The name of the source security list or security IP list. // // You must use the prefix seclist: or seciplist: to identify the list type. // // Required SourceList string `json:"src_list"` }
UpdateSecRuleInput describes a secruity rule to update
type UpdateSecurityIPListInput ¶
type UpdateSecurityIPListInput struct { // A description of the security IP list. // Optional Description string `json:"description"` // The three-part name of the object (/Compute-identity_domain/user/object). // Required Name string `json:"name"` // A comma-separated list of the subnets (in CIDR format) or IPv4 addresses for which you want to create this security IP list. // Required SecIPEntries []string `json:"secipentries"` }
UpdateSecurityIPListInput describes the security ip list to update
type UpdateSecurityListInput ¶
type UpdateSecurityListInput struct { // A description of the security list. // Optional Description string `json:description` // The three-part name of the Security List (/Compute-identity_domain/user/object). // Required Name string `json:"name"` // The policy for outbound traffic from the security list. // Optional (defaults to `permit`) OutboundCIDRPolicy SecurityListPolicy `json:"outbound_cidr_policy"` // The policy for inbound traffic to the security list. // Optional (defaults to `deny`) Policy SecurityListPolicy `json:"policy"` }
UpdateSecurityListInput defines what to update in a security list
type UpdateSecurityProtocolInput ¶
type UpdateSecurityProtocolInput struct { // The name of the Security Protocol to create. Object names can only contain alphanumeric, // underscore, dash, and period characters. Names are case-sensitive. // Required Name string `json:"name"` // Description of the SecurityProtocol // Optional Description string `json:"description"` // Enter a list of port numbers or port range strings. //Traffic is enabled by a security rule when a packet's destination port matches the // ports specified here. // For TCP, SCTP, and UDP, each port is a destination transport port, between 0 and 65535, // inclusive. For ICMP, each port is an ICMP type, between 0 and 255, inclusive. // If no destination ports are specified, all destination ports or ICMP types are allowed. DstPortSet []string `json:"dstPortSet"` // The protocol used in the data portion of the IP datagram. // Specify one of the permitted values or enter a number in the range 0–254 to // represent the protocol that you want to specify. See Assigned Internet Protocol Numbers. // Permitted values are: tcp, udp, icmp, igmp, ipip, rdp, esp, ah, gre, icmpv6, ospf, pim, sctp, // mplsip, all. // Traffic is enabled by a security rule when the protocol in the packet matches the // protocol specified here. If no protocol is specified, all protocols are allowed. IPProtocol string `json:"ipProtocol"` // Enter a list of port numbers or port range strings. // Traffic is enabled by a security rule when a packet's source port matches the // ports specified here. // For TCP, SCTP, and UDP, each port is a source transport port, // between 0 and 65535, inclusive. // For ICMP, each port is an ICMP type, between 0 and 255, inclusive. // If no source ports are specified, all source ports or ICMP types are allowed. SrcPortSet []string `json:"srcPortSet"` // String slice of tags to apply to the Security Protocol object // Optional Tags []string `json:"tags"` }
UpdateSecurityProtocolInput defines what to update in a security protocol
type UpdateSecurityRuleInput ¶
type UpdateSecurityRuleInput struct { //Select the name of the access control list (ACL) that you want to add this // security rule to. Security rules are applied to vNIC sets by using ACLs. // Optional ACL string `json:"acl,omitempty"` // Description of the Security Rule // Optional Description string `json:"description"` // A list of IP address prefix sets to which you want to permit traffic. // Only packets to IP addresses in the specified IP address prefix sets are permitted. // When no destination IP address prefix sets are specified, traffic to any // IP address is permitted. // Optional DstIpAddressPrefixSets []string `json:"dstIpAddressPrefixSets"` // The vNICset to which you want to permit traffic. Only packets to vNICs in the // specified vNICset are permitted. When no destination vNICset is specified, traffic // to any vNIC is permitted. // Optional DstVnicSet string `json:"dstVnicSet,omitempty"` // Allows the security rule to be enabled or disabled. This parameter is set to // true by default. Specify false to disable the security rule. // Optional Enabled bool `json:"enabledFlag"` // Specify the direction of flow of traffic, which is relative to the instances, // for this security rule. Allowed values are ingress or egress. // An ingress packet is a packet received by a virtual NIC, for example from // another virtual NIC or from the public Internet. // An egress packet is a packet sent by a virtual NIC, for example to another // virtual NIC or to the public Internet. // Required FlowDirection string `json:"flowDirection"` // The name of the Security Rule // Object names can contain only alphanumeric characters, hyphens, underscores, and periods. // Object names are case-sensitive. When you specify the object name, ensure that an object // of the same type and with the same name doesn't already exist. // If such an object already exists, another object of the same type and with the same name won't // be created and the existing object won't be updated. // Required Name string `json:"name"` // A list of security protocols for which you want to permit traffic. Only packets that // match the specified protocols and ports are permitted. When no security protocols are // specified, traffic using any protocol over any port is permitted. // Optional SecProtocols []string `json:"secProtocols"` // A list of IP address prefix sets from which you want to permit traffic. Only packets // from IP addresses in the specified IP address prefix sets are permitted. When no source // IP address prefix sets are specified, traffic from any IP address is permitted. // Optional SrcIpAddressPrefixSets []string `json:"srcIpAddressPrefixSets"` // The vNICset from which you want to permit traffic. Only packets from vNICs in the // specified vNICset are permitted. When no source vNICset is specified, traffic from any // vNIC is permitted. // Optional SrcVnicSet string `json:"srcVnicSet,omitempty"` // Strings that you can use to tag the security rule. // Optional Tags []string `json:"tags"` }
UpdateSecurityRuleInput describes a secruity rule to update
type UpdateStorageVolumeInput ¶
type UpdateStorageVolumeInput struct { // The description of the storage volume. Description string `json:"description,omitempty"` // Name of machine image to extract onto this volume when created. This information is provided only for bootable storage volumes. ImageList string `json:"imagelist,omitempty"` // Specific imagelist entry version to extract. ImageListEntry int `json:"imagelist_entry,omitempty"` // The three-part name of the object (/Compute-identity_domain/user/object). Name string `json:"name"` // The storage-pool property: /oracle/public/storage/latency or /oracle/public/storage/default. Properties []string `json:"properties,omitempty"` // The size of this storage volume in GB. Size string `json:"size"` // Name of the parent snapshot from which the storage volume is restored or cloned. Snapshot string `json:"snapshot,omitempty"` // Account of the parent snapshot from which the storage volume is restored. SnapshotAccount string `json:"snapshot_account,omitempty"` // Id of the parent snapshot from which the storage volume is restored or cloned. SnapshotID string `json:"snapshot_id,omitempty"` // Comma-separated strings that tag the storage volume. Tags []string `json:"tags,omitempty"` // Time to wait for storage volume ready Timeout time.Duration `json:"-"` }
UpdateStorageVolumeInput represents the body of an API request to update a Storage Volume.
type UpdateVirtualNICSetInput ¶
type UpdateVirtualNICSetInput struct { // List of ACLs applied to the VNICs in the set. // Optional AppliedACLs []string `json:"appliedAcls"` // Description of the object. // Optional Description string `json:"description"` // The three-part name (/Compute-identity_domain/user/object) of the virtual NIC set. // Object names can contain only alphanumeric, underscore (_), dash (-), and period (.) characters. Object names are case-sensitive. // Required Name string `json:"name"` // Tags associated with this VNIC set. // Optional Tags []string `json:"tags"` // List of VNICs associated with this VNIC set. // Optional VirtualNICs []string `json:"vnics"` }
type VirtNICSetsClient ¶
type VirtNICSetsClient struct {
ResourceClient
}
func (*VirtNICSetsClient) CreateVirtualNICSet ¶
func (c *VirtNICSetsClient) CreateVirtualNICSet(input *CreateVirtualNICSetInput) (*VirtualNICSet, error)
func (*VirtNICSetsClient) DeleteVirtualNICSet ¶
func (c *VirtNICSetsClient) DeleteVirtualNICSet(input *DeleteVirtualNICSetInput) error
func (*VirtNICSetsClient) GetVirtualNICSet ¶
func (c *VirtNICSetsClient) GetVirtualNICSet(input *GetVirtualNICSetInput) (*VirtualNICSet, error)
func (*VirtNICSetsClient) UpdateVirtualNICSet ¶
func (c *VirtNICSetsClient) UpdateVirtualNICSet(input *UpdateVirtualNICSetInput) (*VirtualNICSet, error)
type VirtNICsClient ¶
type VirtNICsClient struct {
ResourceClient
}
func (*VirtNICsClient) GetVirtualNIC ¶
func (c *VirtNICsClient) GetVirtualNIC(input *GetVirtualNICInput) (*VirtualNIC, error)
type VirtualNIC ¶
type VirtualNIC struct { // Description of the object. Description string `json:"description"` // MAC address of this VNIC. MACAddress string `json:"macAddress"` // The three-part name (/Compute-identity_domain/user/object) of the Virtual NIC. Name string `json:"name"` // Tags associated with the object. Tags []string `json:"tags"` // True if the VNIC is of type "transit". TransitFlag bool `json:"transitFlag"` // Uniform Resource Identifier Uri string `json:"uri"` }
type VirtualNICSet ¶
type VirtualNICSet struct { // List of ACLs applied to the VNICs in the set. AppliedACLs []string `json:"appliedAcls"` // Description of the VNIC Set. Description string `json:"description"` // Name of the VNIC set. Name string `json:"name"` // The three-part name (/Compute-identity_domain/user/object) of the virtual NIC set. Tags []string `json:"tags"` // Uniform Resource Identifier Uri string `json:"uri"` // List of VNICs associated with this VNIC set. VirtualNICs []string `json:"vnics"` }
Describes an existing virtual nic set
Source Files ¶
- acl.go
- authentication.go
- compute_client.go
- compute_resource_client.go
- image_list.go
- image_list_entries.go
- instances.go
- ip_address_associations.go
- ip_address_prefix_set.go
- ip_address_reservations.go
- ip_associations.go
- ip_network_exchange.go
- ip_networks.go
- ip_reservations.go
- machine_images.go
- routes.go
- sec_rules.go
- security_applications.go
- security_associations.go
- security_ip_lists.go
- security_lists.go
- security_protocols.go
- security_rules.go
- snapshots.go
- ssh_keys.go
- storage_volume_attachments.go
- storage_volume_snapshots.go
- storage_volumes.go
- test_utils.go
- virtual_nic.go
- virtual_nic_sets.go