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// Drg A dynamic routing gateway (DRG), which is a virtual router that provides a path for private 20// network traffic between your VCN and your existing network. You use it with other Networking 21// Service components to create an IPSec VPN or a connection that uses 22// Oracle Cloud Infrastructure FastConnect. For more information, see 23// Overview of the Networking Service (https://docs.cloud.oracle.com/Content/Network/Concepts/overview.htm). 24// To use any of the API operations, you must be authorized in an IAM policy. If you're not authorized, 25// talk to an administrator. If you're an administrator who needs to write policies to give users access, see 26// Getting Started with Policies (https://docs.cloud.oracle.com/Content/Identity/Concepts/policygetstarted.htm). 27// **Warning:** Oracle recommends that you avoid using any confidential information when you 28// supply string values using the API. 29type Drg struct { 30 31 // The OCID of the compartment containing the DRG. 32 CompartmentId *string `mandatory:"true" json:"compartmentId"` 33 34 // The DRG's Oracle ID (OCID). 35 Id *string `mandatory:"true" json:"id"` 36 37 // The DRG's current state. 38 LifecycleState DrgLifecycleStateEnum `mandatory:"true" json:"lifecycleState"` 39 40 // Defined tags for this resource. Each key is predefined and scoped to a 41 // namespace. For more information, see Resource Tags (https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm). 42 // Example: `{"Operations": {"CostCenter": "42"}}` 43 DefinedTags map[string]map[string]interface{} `mandatory:"false" json:"definedTags"` 44 45 // A user-friendly name. Does not have to be unique, and it's changeable. 46 // Avoid entering confidential information. 47 DisplayName *string `mandatory:"false" json:"displayName"` 48 49 // Free-form tags for this resource. Each tag is a simple key-value pair with no 50 // predefined name, type, or namespace. For more information, see Resource Tags (https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm). 51 // Example: `{"Department": "Finance"}` 52 FreeformTags map[string]string `mandatory:"false" json:"freeformTags"` 53 54 // The date and time the DRG was created, in the format defined by RFC3339. 55 // Example: `2016-08-25T21:10:29.600Z` 56 TimeCreated *common.SDKTime `mandatory:"false" json:"timeCreated"` 57} 58 59func (m Drg) String() string { 60 return common.PointerString(m) 61} 62 63// DrgLifecycleStateEnum Enum with underlying type: string 64type DrgLifecycleStateEnum string 65 66// Set of constants representing the allowable values for DrgLifecycleStateEnum 67const ( 68 DrgLifecycleStateProvisioning DrgLifecycleStateEnum = "PROVISIONING" 69 DrgLifecycleStateAvailable DrgLifecycleStateEnum = "AVAILABLE" 70 DrgLifecycleStateTerminating DrgLifecycleStateEnum = "TERMINATING" 71 DrgLifecycleStateTerminated DrgLifecycleStateEnum = "TERMINATED" 72) 73 74var mappingDrgLifecycleState = map[string]DrgLifecycleStateEnum{ 75 "PROVISIONING": DrgLifecycleStateProvisioning, 76 "AVAILABLE": DrgLifecycleStateAvailable, 77 "TERMINATING": DrgLifecycleStateTerminating, 78 "TERMINATED": DrgLifecycleStateTerminated, 79} 80 81// GetDrgLifecycleStateEnumValues Enumerates the set of values for DrgLifecycleStateEnum 82func GetDrgLifecycleStateEnumValues() []DrgLifecycleStateEnum { 83 values := make([]DrgLifecycleStateEnum, 0) 84 for _, v := range mappingDrgLifecycleState { 85 values = append(values, v) 86 } 87 return values 88} 89