1// Copyright (c) 2016, 2018, 2019, Oracle and/or its affiliates. All rights reserved. 2// Code generated. DO NOT EDIT. 3 4// Core Services API 5// 6// API covering the Networking (https://docs.cloud.oracle.com/iaas/Content/Network/Concepts/overview.htm), 7// Compute (https://docs.cloud.oracle.com/iaas/Content/Compute/Concepts/computeoverview.htm), and 8// Block Volume (https://docs.cloud.oracle.com/iaas/Content/Block/Concepts/overview.htm) services. Use this API 9// to manage resources such as virtual cloud networks (VCNs), compute instances, and 10// block storage volumes. 11// 12 13package core 14 15import ( 16 "github.com/oracle/oci-go-sdk/common" 17) 18 19// PrivateIp A *private IP* is a conceptual term that refers to an IPv4 private IP address and related properties. 20// The `privateIp` object is the API representation of a private IP. 21// **Note:** For information about IPv6 addresses, see Ipv6. 22// Each instance has a *primary private IP* that is automatically created and 23// assigned to the primary VNIC during instance launch. If you add a secondary 24// VNIC to the instance, it also automatically gets a primary private IP. You 25// can't remove a primary private IP from its VNIC. The primary private IP is 26// automatically deleted when the VNIC is terminated. 27// You can add *secondary private IPs* to a VNIC after it's created. For more 28// information, see the `privateIp` operations and also 29// IP Addresses (https://docs.cloud.oracle.com/Content/Network/Tasks/managingIPaddresses.htm). 30// **Note:** Only 31// ListPrivateIps and 32// GetPrivateIp work with 33// *primary* private IPs. To create and update primary private IPs, you instead 34// work with instance and VNIC operations. For example, a primary private IP's 35// properties come from the values you specify in 36// CreateVnicDetails when calling either 37// LaunchInstance or 38// AttachVnic. To update the hostname 39// for a primary private IP, you use UpdateVnic. 40// To use any of the API operations, you must be authorized in an IAM policy. If you're not authorized, 41// talk to an administrator. If you're an administrator who needs to write policies to give users access, see 42// Getting Started with Policies (https://docs.cloud.oracle.com/Content/Identity/Concepts/policygetstarted.htm). 43// **Warning:** Oracle recommends that you avoid using any confidential information when you 44// supply string values using the API. 45type PrivateIp struct { 46 47 // The private IP's availability domain. This attribute will be null if this is a *secondary* 48 // private IP assigned to a VNIC that is in a *regional* subnet. 49 // Example: `Uocm:PHX-AD-1` 50 AvailabilityDomain *string `mandatory:"false" json:"availabilityDomain"` 51 52 // The OCID of the compartment containing the private IP. 53 CompartmentId *string `mandatory:"false" json:"compartmentId"` 54 55 // Defined tags for this resource. Each key is predefined and scoped to a 56 // namespace. For more information, see Resource Tags (https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm). 57 // Example: `{"Operations": {"CostCenter": "42"}}` 58 DefinedTags map[string]map[string]interface{} `mandatory:"false" json:"definedTags"` 59 60 // A user-friendly name. Does not have to be unique, and it's changeable. Avoid 61 // entering confidential information. 62 DisplayName *string `mandatory:"false" json:"displayName"` 63 64 // Free-form tags for this resource. Each tag is a simple key-value pair with no 65 // predefined name, type, or namespace. For more information, see Resource Tags (https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm). 66 // Example: `{"Department": "Finance"}` 67 FreeformTags map[string]string `mandatory:"false" json:"freeformTags"` 68 69 // The hostname for the private IP. Used for DNS. The value is the hostname 70 // portion of the private IP's fully qualified domain name (FQDN) 71 // (for example, `bminstance-1` in FQDN `bminstance-1.subnet123.vcn1.oraclevcn.com`). 72 // Must be unique across all VNICs in the subnet and comply with 73 // RFC 952 (https://tools.ietf.org/html/rfc952) and 74 // RFC 1123 (https://tools.ietf.org/html/rfc1123). 75 // For more information, see 76 // DNS in Your Virtual Cloud Network (https://docs.cloud.oracle.com/Content/Network/Concepts/dns.htm). 77 // Example: `bminstance-1` 78 HostnameLabel *string `mandatory:"false" json:"hostnameLabel"` 79 80 // The private IP's Oracle ID (OCID). 81 Id *string `mandatory:"false" json:"id"` 82 83 // The private IP address of the `privateIp` object. The address is within the CIDR 84 // of the VNIC's subnet. 85 // Example: `10.0.3.3` 86 IpAddress *string `mandatory:"false" json:"ipAddress"` 87 88 // Whether this private IP is the primary one on the VNIC. Primary private IPs 89 // are unassigned and deleted automatically when the VNIC is terminated. 90 // Example: `true` 91 IsPrimary *bool `mandatory:"false" json:"isPrimary"` 92 93 // The OCID of the subnet the VNIC is in. 94 SubnetId *string `mandatory:"false" json:"subnetId"` 95 96 // The date and time the private IP was created, in the format defined by RFC3339. 97 // Example: `2016-08-25T21:10:29.600Z` 98 TimeCreated *common.SDKTime `mandatory:"false" json:"timeCreated"` 99 100 // The OCID of the VNIC the private IP is assigned to. The VNIC and private IP 101 // must be in the same subnet. 102 VnicId *string `mandatory:"false" json:"vnicId"` 103} 104 105func (m PrivateIp) String() string { 106 return common.PointerString(m) 107} 108