text: // Copyright (c) 2016, 2018, 2020, Oracle and/or its affiliates.  All rights reserved.
  // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
  // Code generated. DO NOT EDIT.
  
  package identity
  
  import (
  	"github.com/oracle/oci-go-sdk/v25/common"
  	"net/http"
  )
  
  // ListTagDefaultsRequest wrapper for the ListTagDefaults operation
  type ListTagDefaultsRequest struct {
  
  	// The value of the `opc-next-page` response header from the previous "List" call.
  	Page *string `mandatory:"false" contributesTo:"query" name:"page"`
  
  	// The maximum number of items to return in a paginated "List" call.
  	Limit *int `mandatory:"false" contributesTo:"query" name:"limit"`
  
  	// A filter to only return resources that match the specified OCID exactly.
  	Id *string `mandatory:"false" contributesTo:"query" name:"id"`
  
  	// The OCID of the compartment (remember that the tenancy is simply the root compartment).
  	CompartmentId *string `mandatory:"false" contributesTo:"query" name:"compartmentId"`
  
  	// The OCID of the tag definition.
  	TagDefinitionId *string `mandatory:"false" contributesTo:"query" name:"tagDefinitionId"`
  
  	// A filter to only return resources that match the given lifecycle state.  The state value is case-insensitive.
  	LifecycleState TagDefaultSummaryLifecycleStateEnum `mandatory:"false" contributesTo:"query" name:"lifecycleState" omitEmpty:"true"`
  
  	// Unique Oracle-assigned identifier for the request.
  	// If you need to contact Oracle about a particular request, please provide the request ID.
  	OpcRequestId *string `mandatory:"false" contributesTo:"header" name:"opc-request-id"`
  
  	// Metadata about the request. This information will not be transmitted to the service, but
  	// represents information that the SDK will consume to drive retry behavior.
  	RequestMetadata common.RequestMetadata
  }
  
  func (request ListTagDefaultsRequest) String() string {
  	return common.PointerString(request)
  }
  
  // HTTPRequest implements the OCIRequest interface
  func (request ListTagDefaultsRequest) HTTPRequest(method, path string) (http.Request, error) {
  	return common.MakeDefaultHTTPRequestWithTaggedStruct(method, path, request)
  }
  
  // RetryPolicy implements the OCIRetryableRequest interface. This retrieves the specified retry policy.
  func (request ListTagDefaultsRequest) RetryPolicy() *common.RetryPolicy {
  	return request.RequestMetadata.RetryPolicy
  }
  
  // ListTagDefaultsResponse wrapper for the ListTagDefaults operation
  type ListTagDefaultsResponse struct {
  
  	// The underlying http response
  	RawResponse *http.Response
  
  	// A list of []TagDefaultSummary instances
  	Items []TagDefaultSummary `presentIn:"body"`
  
  	// Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
  	// particular request, please provide the request ID.
  	OpcRequestId *string `presentIn:"header" name:"opc-request-id"`
  
  	// For pagination of a list of tag default values. When paging through a list, if this header appears in
  	// the response, then a partial list might have been returned. Include this value as the `page` parameter
  	// for the subsequent GET request to get the next batch of items.
  	OpcNextPage *string `presentIn:"header" name:"opc-next-page"`
  }
  
  func (response ListTagDefaultsResponse) String() string {
  	return common.PointerString(response)
  }
  
  // HTTPResponse implements the OCIResponse interface
  func (response ListTagDefaultsResponse) HTTPResponse() *http.Response {
  	return response.RawResponse
  }
  