oci 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/LICENSE.txt +82 -0
- data/README.md +262 -0
- data/lib/oci.rb +25 -0
- data/lib/oci/api_client.rb +389 -0
- data/lib/oci/config.rb +118 -0
- data/lib/oci/config_file_loader.rb +96 -0
- data/lib/oci/core/blockstorage_client.rb +462 -0
- data/lib/oci/core/compute_client.rb +1415 -0
- data/lib/oci/core/core.rb +114 -0
- data/lib/oci/core/models/attach_i_scsi_volume_details.rb +137 -0
- data/lib/oci/core/models/attach_vnic_details.rb +144 -0
- data/lib/oci/core/models/attach_volume_details.rb +165 -0
- data/lib/oci/core/models/capture_console_history_details.rb +120 -0
- data/lib/oci/core/models/console_history.rb +213 -0
- data/lib/oci/core/models/cpe.rb +169 -0
- data/lib/oci/core/models/create_cpe_details.rb +145 -0
- data/lib/oci/core/models/create_cross_connect_details.rb +204 -0
- data/lib/oci/core/models/create_cross_connect_group_details.rb +133 -0
- data/lib/oci/core/models/create_dhcp_details.rb +153 -0
- data/lib/oci/core/models/create_drg_attachment_details.rb +142 -0
- data/lib/oci/core/models/create_drg_details.rb +131 -0
- data/lib/oci/core/models/create_image_details.rb +159 -0
- data/lib/oci/core/models/create_instance_console_connection_details.rb +131 -0
- data/lib/oci/core/models/create_internet_gateway_details.rb +153 -0
- data/lib/oci/core/models/create_ip_sec_connection_details.rb +168 -0
- data/lib/oci/core/models/create_private_ip_details.rb +173 -0
- data/lib/oci/core/models/create_route_table_details.rb +153 -0
- data/lib/oci/core/models/create_security_list_details.rb +164 -0
- data/lib/oci/core/models/create_subnet_details.rb +257 -0
- data/lib/oci/core/models/create_vcn_details.rb +171 -0
- data/lib/oci/core/models/create_virtual_circuit_details.rb +260 -0
- data/lib/oci/core/models/create_vnic_details.rb +214 -0
- data/lib/oci/core/models/create_volume_backup_details.rb +133 -0
- data/lib/oci/core/models/create_volume_details.rb +170 -0
- data/lib/oci/core/models/cross_connect.rb +235 -0
- data/lib/oci/core/models/cross_connect_group.rb +187 -0
- data/lib/oci/core/models/cross_connect_location.rb +134 -0
- data/lib/oci/core/models/cross_connect_mapping.rb +190 -0
- data/lib/oci/core/models/cross_connect_port_speed_shape.rb +137 -0
- data/lib/oci/core/models/cross_connect_status.rb +200 -0
- data/lib/oci/core/models/dhcp_dns_option.rb +171 -0
- data/lib/oci/core/models/dhcp_option.rb +135 -0
- data/lib/oci/core/models/dhcp_options.rb +208 -0
- data/lib/oci/core/models/dhcp_search_domain_option.rb +141 -0
- data/lib/oci/core/models/drg.rb +186 -0
- data/lib/oci/core/models/drg_attachment.rb +208 -0
- data/lib/oci/core/models/egress_security_rule.rb +198 -0
- data/lib/oci/core/models/export_image_details.rb +134 -0
- data/lib/oci/core/models/export_image_via_object_storage_tuple_details.rb +150 -0
- data/lib/oci/core/models/export_image_via_object_storage_uri_details.rb +130 -0
- data/lib/oci/core/models/fast_connect_provider_service.rb +145 -0
- data/lib/oci/core/models/i_scsi_volume_attachment.rb +212 -0
- data/lib/oci/core/models/icmp_options.rb +131 -0
- data/lib/oci/core/models/image.rb +245 -0
- data/lib/oci/core/models/image_source_details.rb +134 -0
- data/lib/oci/core/models/image_source_via_object_storage_tuple_details.rb +150 -0
- data/lib/oci/core/models/image_source_via_object_storage_uri_details.rb +128 -0
- data/lib/oci/core/models/ingress_security_rule.rb +198 -0
- data/lib/oci/core/models/instance.rb +307 -0
- data/lib/oci/core/models/instance_console_connection.rb +193 -0
- data/lib/oci/core/models/instance_credentials.rb +131 -0
- data/lib/oci/core/models/internet_gateway.rb +210 -0
- data/lib/oci/core/models/ip_sec_connection.rb +223 -0
- data/lib/oci/core/models/ip_sec_connection_device_config.rb +153 -0
- data/lib/oci/core/models/ip_sec_connection_device_status.rb +156 -0
- data/lib/oci/core/models/launch_instance_details.rb +336 -0
- data/lib/oci/core/models/letter_of_authority.rb +194 -0
- data/lib/oci/core/models/port_range.rb +133 -0
- data/lib/oci/core/models/private_ip.rb +248 -0
- data/lib/oci/core/models/route_rule.rb +135 -0
- data/lib/oci/core/models/route_table.rb +208 -0
- data/lib/oci/core/models/security_list.rb +219 -0
- data/lib/oci/core/models/shape.rb +122 -0
- data/lib/oci/core/models/subnet.rb +351 -0
- data/lib/oci/core/models/tcp_options.rb +135 -0
- data/lib/oci/core/models/tunnel_config.rb +151 -0
- data/lib/oci/core/models/tunnel_status.rb +178 -0
- data/lib/oci/core/models/udp_options.rb +135 -0
- data/lib/oci/core/models/update_cpe_details.rb +122 -0
- data/lib/oci/core/models/update_cross_connect_details.rb +138 -0
- data/lib/oci/core/models/update_cross_connect_group_details.rb +122 -0
- data/lib/oci/core/models/update_dhcp_details.rb +132 -0
- data/lib/oci/core/models/update_drg_attachment_details.rb +122 -0
- data/lib/oci/core/models/update_drg_details.rb +122 -0
- data/lib/oci/core/models/update_image_details.rb +124 -0
- data/lib/oci/core/models/update_instance_details.rb +124 -0
- data/lib/oci/core/models/update_internet_gateway_details.rb +133 -0
- data/lib/oci/core/models/update_ip_sec_connection_details.rb +122 -0
- data/lib/oci/core/models/update_private_ip_details.rb +157 -0
- data/lib/oci/core/models/update_route_table_details.rb +133 -0
- data/lib/oci/core/models/update_security_list_details.rb +144 -0
- data/lib/oci/core/models/update_subnet_details.rb +122 -0
- data/lib/oci/core/models/update_vcn_details.rb +122 -0
- data/lib/oci/core/models/update_virtual_circuit_details.rb +240 -0
- data/lib/oci/core/models/update_vnic_details.rb +144 -0
- data/lib/oci/core/models/update_volume_backup_details.rb +122 -0
- data/lib/oci/core/models/update_volume_details.rb +122 -0
- data/lib/oci/core/models/vcn.rb +276 -0
- data/lib/oci/core/models/virtual_circuit.rb +395 -0
- data/lib/oci/core/models/virtual_circuit_bandwidth_shape.rb +137 -0
- data/lib/oci/core/models/vnic.rb +287 -0
- data/lib/oci/core/models/vnic_attachment.rb +250 -0
- data/lib/oci/core/models/volume.rb +210 -0
- data/lib/oci/core/models/volume_attachment.rb +246 -0
- data/lib/oci/core/models/volume_backup.rb +235 -0
- data/lib/oci/core/util.rb +1 -0
- data/lib/oci/core/virtual_network_client.rb +3421 -0
- data/lib/oci/errors.rb +78 -0
- data/lib/oci/global_context.rb +20 -0
- data/lib/oci/identity/identity.rb +55 -0
- data/lib/oci/identity/identity_client.rb +2148 -0
- data/lib/oci/identity/models/add_user_to_group_details.rb +131 -0
- data/lib/oci/identity/models/api_key.rb +211 -0
- data/lib/oci/identity/models/availability_domain.rb +131 -0
- data/lib/oci/identity/models/compartment.rb +211 -0
- data/lib/oci/identity/models/create_api_key_details.rb +120 -0
- data/lib/oci/identity/models/create_compartment_details.rb +145 -0
- data/lib/oci/identity/models/create_customer_secret_key_details.rb +121 -0
- data/lib/oci/identity/models/create_group_details.rb +144 -0
- data/lib/oci/identity/models/create_identity_provider_details.rb +215 -0
- data/lib/oci/identity/models/create_idp_group_mapping_details.rb +133 -0
- data/lib/oci/identity/models/create_policy_details.rb +173 -0
- data/lib/oci/identity/models/create_region_subscription_details.rb +128 -0
- data/lib/oci/identity/models/create_saml2_identity_provider_details.rb +154 -0
- data/lib/oci/identity/models/create_swift_password_details.rb +121 -0
- data/lib/oci/identity/models/create_user_details.rb +144 -0
- data/lib/oci/identity/models/customer_secret_key.rb +225 -0
- data/lib/oci/identity/models/customer_secret_key_summary.rb +213 -0
- data/lib/oci/identity/models/group.rb +211 -0
- data/lib/oci/identity/models/identity_provider.rb +261 -0
- data/lib/oci/identity/models/idp_group_mapping.rb +220 -0
- data/lib/oci/identity/models/policy.rb +237 -0
- data/lib/oci/identity/models/region.rb +143 -0
- data/lib/oci/identity/models/region_subscription.rb +180 -0
- data/lib/oci/identity/models/saml2_identity_provider.rb +180 -0
- data/lib/oci/identity/models/swift_password.rb +226 -0
- data/lib/oci/identity/models/tenancy.rb +159 -0
- data/lib/oci/identity/models/ui_password.rb +187 -0
- data/lib/oci/identity/models/update_compartment_details.rb +132 -0
- data/lib/oci/identity/models/update_customer_secret_key_details.rb +120 -0
- data/lib/oci/identity/models/update_group_details.rb +120 -0
- data/lib/oci/identity/models/update_identity_provider_details.rb +160 -0
- data/lib/oci/identity/models/update_idp_group_mapping_details.rb +131 -0
- data/lib/oci/identity/models/update_policy_details.rb +148 -0
- data/lib/oci/identity/models/update_saml2_identity_provider_details.rb +145 -0
- data/lib/oci/identity/models/update_state_details.rb +121 -0
- data/lib/oci/identity/models/update_swift_password_details.rb +120 -0
- data/lib/oci/identity/models/update_user_details.rb +120 -0
- data/lib/oci/identity/models/user.rb +217 -0
- data/lib/oci/identity/models/user_group_membership.rb +209 -0
- data/lib/oci/identity/util.rb +1 -0
- data/lib/oci/internal/internal.rb +10 -0
- data/lib/oci/internal/util.rb +69 -0
- data/lib/oci/load_balancer/load_balancer.rb +51 -0
- data/lib/oci/load_balancer/load_balancer_client.rb +1449 -0
- data/lib/oci/load_balancer/models/backend.rb +220 -0
- data/lib/oci/load_balancer/models/backend_details.rb +206 -0
- data/lib/oci/load_balancer/models/backend_health.rb +158 -0
- data/lib/oci/load_balancer/models/backend_set.rb +182 -0
- data/lib/oci/load_balancer/models/backend_set_details.rb +165 -0
- data/lib/oci/load_balancer/models/backend_set_health.rb +207 -0
- data/lib/oci/load_balancer/models/certificate.rb +169 -0
- data/lib/oci/load_balancer/models/certificate_details.rb +205 -0
- data/lib/oci/load_balancer/models/create_backend_details.rb +206 -0
- data/lib/oci/load_balancer/models/create_backend_set_details.rb +181 -0
- data/lib/oci/load_balancer/models/create_certificate_details.rb +205 -0
- data/lib/oci/load_balancer/models/create_listener_details.rb +175 -0
- data/lib/oci/load_balancer/models/create_load_balancer_details.rb +220 -0
- data/lib/oci/load_balancer/models/health_check_result.rb +183 -0
- data/lib/oci/load_balancer/models/health_checker.rb +224 -0
- data/lib/oci/load_balancer/models/health_checker_details.rb +223 -0
- data/lib/oci/load_balancer/models/ip_address.rb +139 -0
- data/lib/oci/load_balancer/models/listener.rb +174 -0
- data/lib/oci/load_balancer/models/listener_details.rb +160 -0
- data/lib/oci/load_balancer/models/load_balancer.rb +280 -0
- data/lib/oci/load_balancer/models/load_balancer_health.rb +215 -0
- data/lib/oci/load_balancer/models/load_balancer_health_summary.rb +168 -0
- data/lib/oci/load_balancer/models/load_balancer_policy.rb +120 -0
- data/lib/oci/load_balancer/models/load_balancer_protocol.rb +120 -0
- data/lib/oci/load_balancer/models/load_balancer_shape.rb +120 -0
- data/lib/oci/load_balancer/models/session_persistence_configuration_details.rb +141 -0
- data/lib/oci/load_balancer/models/ssl_configuration.rb +155 -0
- data/lib/oci/load_balancer/models/ssl_configuration_details.rb +155 -0
- data/lib/oci/load_balancer/models/update_backend_details.rb +178 -0
- data/lib/oci/load_balancer/models/update_backend_set_details.rb +165 -0
- data/lib/oci/load_balancer/models/update_health_checker_details.rb +222 -0
- data/lib/oci/load_balancer/models/update_listener_details.rb +160 -0
- data/lib/oci/load_balancer/models/update_load_balancer_details.rb +124 -0
- data/lib/oci/load_balancer/models/work_request.rb +229 -0
- data/lib/oci/load_balancer/models/work_request_error.rb +145 -0
- data/lib/oci/load_balancer/util.rb +58 -0
- data/lib/oci/object_storage/models/bucket.rb +216 -0
- data/lib/oci/object_storage/models/bucket_summary.rb +175 -0
- data/lib/oci/object_storage/models/commit_multipart_upload_details.rb +133 -0
- data/lib/oci/object_storage/models/commit_multipart_upload_part_details.rb +131 -0
- data/lib/oci/object_storage/models/create_bucket_details.rb +173 -0
- data/lib/oci/object_storage/models/create_multipart_upload_details.rb +166 -0
- data/lib/oci/object_storage/models/create_preauthenticated_request_details.rb +171 -0
- data/lib/oci/object_storage/models/list_objects.rb +146 -0
- data/lib/oci/object_storage/models/multipart_upload.rb +164 -0
- data/lib/oci/object_storage/models/multipart_upload_part_summary.rb +153 -0
- data/lib/oci/object_storage/models/object_summary.rb +153 -0
- data/lib/oci/object_storage/models/preauthenticated_request.rb +207 -0
- data/lib/oci/object_storage/models/preauthenticated_request_summary.rb +196 -0
- data/lib/oci/object_storage/models/update_bucket_details.rb +171 -0
- data/lib/oci/object_storage/object_storage.rb +30 -0
- data/lib/oci/object_storage/object_storage_client.rb +1185 -0
- data/lib/oci/object_storage/util.rb +1 -0
- data/lib/oci/regions.rb +43 -0
- data/lib/oci/response.rb +80 -0
- data/lib/oci/response_headers.rb +144 -0
- data/lib/oci/signer.rb +157 -0
- data/lib/oci/version.rb +5 -0
- data/lib/oci/waiter.rb +101 -0
- data/lib/oraclebmc.rb +3 -0
- metadata +375 -0
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
# Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
|
|
2
|
+
|
|
3
|
+
require 'date'
|
|
4
|
+
|
|
5
|
+
module OCI
|
|
6
|
+
class ObjectStorage::Models::PreauthenticatedRequestSummary
|
|
7
|
+
|
|
8
|
+
ACCESS_TYPE_ENUM = [ACCESS_TYPE_OBJECT_READ = 'ObjectRead',
|
|
9
|
+
ACCESS_TYPE_OBJECT_WRITE = 'ObjectWrite',
|
|
10
|
+
ACCESS_TYPE_OBJECT_READ_WRITE = 'ObjectReadWrite',
|
|
11
|
+
ACCESS_TYPE_ANY_OBJECT_WRITE = 'AnyObjectWrite',
|
|
12
|
+
ACCESS_TYPE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE']
|
|
13
|
+
|
|
14
|
+
# the unique identifier to use when directly addressing the pre-authenticated request
|
|
15
|
+
# @return [String]
|
|
16
|
+
attr_accessor :id
|
|
17
|
+
|
|
18
|
+
# the user supplied name of the pre-authenticated request
|
|
19
|
+
# @return [String]
|
|
20
|
+
attr_accessor :name
|
|
21
|
+
|
|
22
|
+
# Name of object that is being granted access to by the pre-authenticated request. This can be null and that would mean that the pre-authenticated request is granting access to the entire bucket
|
|
23
|
+
# @return [String]
|
|
24
|
+
attr_accessor :object_name
|
|
25
|
+
|
|
26
|
+
# the operation that can be performed on this resource e.g PUT or GET.
|
|
27
|
+
# @return [String]
|
|
28
|
+
attr_accessor :access_type
|
|
29
|
+
|
|
30
|
+
# the expiration date after which the pre authenticated request will no longer be valid as per spec
|
|
31
|
+
# [RFC 3339](https://tools.ietf.org/rfc/rfc3339)
|
|
32
|
+
#
|
|
33
|
+
# @return [DateTime]
|
|
34
|
+
attr_accessor :time_expires
|
|
35
|
+
|
|
36
|
+
# the date when the pre-authenticated request was created as per spec
|
|
37
|
+
# [RFC 3339](https://tools.ietf.org/rfc/rfc3339)
|
|
38
|
+
#
|
|
39
|
+
# @return [DateTime]
|
|
40
|
+
attr_accessor :time_created
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
# Initializes the object
|
|
44
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
45
|
+
def initialize(attributes = {})
|
|
46
|
+
return unless attributes.is_a?(Hash)
|
|
47
|
+
|
|
48
|
+
# convert string to symbol for hash key
|
|
49
|
+
attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
|
|
50
|
+
|
|
51
|
+
if attributes[:'id']
|
|
52
|
+
self.id = attributes[:'id']
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
if attributes[:'name']
|
|
56
|
+
self.name = attributes[:'name']
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
if attributes[:'objectName']
|
|
60
|
+
self.object_name = attributes[:'objectName']
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
if attributes[:'accessType']
|
|
64
|
+
self.access_type = attributes[:'accessType']
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
if attributes[:'timeExpires']
|
|
68
|
+
self.time_expires = attributes[:'timeExpires']
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
if attributes[:'timeCreated']
|
|
72
|
+
self.time_created = attributes[:'timeCreated']
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
# Custom attribute writer method checking allowed values (enum).
|
|
78
|
+
# @param [Object] access_type Object to be assigned
|
|
79
|
+
def access_type=(access_type)
|
|
80
|
+
if access_type && !ACCESS_TYPE_ENUM.include?(access_type)
|
|
81
|
+
@access_type = ACCESS_TYPE_UNKNOWN_ENUM_VALUE
|
|
82
|
+
else
|
|
83
|
+
@access_type = access_type
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
# Checks equality by comparing each attribute.
|
|
88
|
+
# @param [Object] other_object to be compared
|
|
89
|
+
def ==(other_object)
|
|
90
|
+
return true if self.equal?(other_object)
|
|
91
|
+
self.class == other_object.class &&
|
|
92
|
+
id == other_object.id &&
|
|
93
|
+
name == other_object.name &&
|
|
94
|
+
object_name == other_object.object_name &&
|
|
95
|
+
access_type == other_object.access_type &&
|
|
96
|
+
time_expires == other_object.time_expires &&
|
|
97
|
+
time_created == other_object.time_created
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
# @see the `==` method
|
|
101
|
+
# @param [Object] other_object to be compared
|
|
102
|
+
def eql?(other_object)
|
|
103
|
+
self == other_object
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
# Calculates hash code according to all attributes.
|
|
107
|
+
# @return [Fixnum] Hash code
|
|
108
|
+
def hash
|
|
109
|
+
[id, name, object_name, access_type, time_expires, time_created].hash
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
# Builds the object from hash
|
|
113
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
114
|
+
# @return [Object] Returns the model itself
|
|
115
|
+
def build_from_hash(attributes)
|
|
116
|
+
return nil unless attributes.is_a?(Hash)
|
|
117
|
+
self.class.swagger_types.each_pair do |key, type|
|
|
118
|
+
if type =~ /^Array<(.*)>/i
|
|
119
|
+
# check to ensure the input is an array given that the the attribute
|
|
120
|
+
# is documented as an array but the input is not
|
|
121
|
+
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
|
122
|
+
self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
|
|
123
|
+
end
|
|
124
|
+
elsif !attributes[self.class.attribute_map[key]].nil?
|
|
125
|
+
self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
|
|
126
|
+
end # or else data not found in attributes(hash), not an issue as the data can be optional
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
self
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
# Returns the string representation of the object
|
|
133
|
+
# @return [String] String presentation of the object
|
|
134
|
+
def to_s
|
|
135
|
+
to_hash.to_s
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
# Returns the object in the form of hash
|
|
139
|
+
# @return [Hash] Returns the object in the form of hash
|
|
140
|
+
def to_hash
|
|
141
|
+
hash = {}
|
|
142
|
+
self.class.attribute_map.each_pair do |attr, param|
|
|
143
|
+
value = self.send(attr)
|
|
144
|
+
next if value.nil?
|
|
145
|
+
hash[param] = _to_hash(value)
|
|
146
|
+
end
|
|
147
|
+
hash
|
|
148
|
+
end
|
|
149
|
+
|
|
150
|
+
private
|
|
151
|
+
|
|
152
|
+
# Outputs non-array value in the form of hash
|
|
153
|
+
# For object, use to_hash. Otherwise, just return the value
|
|
154
|
+
# @param [Object] value Any valid value
|
|
155
|
+
# @return [Hash] Returns the value in the form of hash
|
|
156
|
+
def _to_hash(value)
|
|
157
|
+
if value.is_a?(Array)
|
|
158
|
+
value.compact.map{ |v| _to_hash(v) }
|
|
159
|
+
elsif value.is_a?(Hash)
|
|
160
|
+
{}.tap do |hash|
|
|
161
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
162
|
+
end
|
|
163
|
+
elsif value.respond_to? :to_hash
|
|
164
|
+
value.to_hash
|
|
165
|
+
else
|
|
166
|
+
value
|
|
167
|
+
end
|
|
168
|
+
end
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
|
173
|
+
def self.attribute_map
|
|
174
|
+
{
|
|
175
|
+
:'id' => :'id',
|
|
176
|
+
:'name' => :'name',
|
|
177
|
+
:'object_name' => :'objectName',
|
|
178
|
+
:'access_type' => :'accessType',
|
|
179
|
+
:'time_expires' => :'timeExpires',
|
|
180
|
+
:'time_created' => :'timeCreated'
|
|
181
|
+
}
|
|
182
|
+
end
|
|
183
|
+
|
|
184
|
+
# Attribute type mapping.
|
|
185
|
+
def self.swagger_types
|
|
186
|
+
{
|
|
187
|
+
:'id' => :'String',
|
|
188
|
+
:'name' => :'String',
|
|
189
|
+
:'object_name' => :'String',
|
|
190
|
+
:'access_type' => :'String',
|
|
191
|
+
:'time_expires' => :'DateTime',
|
|
192
|
+
:'time_created' => :'DateTime'
|
|
193
|
+
}
|
|
194
|
+
end
|
|
195
|
+
end
|
|
196
|
+
end
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
# Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
|
|
2
|
+
|
|
3
|
+
require 'date'
|
|
4
|
+
|
|
5
|
+
module OCI
|
|
6
|
+
class ObjectStorage::Models::UpdateBucketDetails
|
|
7
|
+
|
|
8
|
+
PUBLIC_ACCESS_TYPE_ENUM = [PUBLIC_ACCESS_TYPE_NO_PUBLIC_ACCESS = 'NoPublicAccess',
|
|
9
|
+
PUBLIC_ACCESS_TYPE_OBJECT_READ = 'ObjectRead']
|
|
10
|
+
|
|
11
|
+
# The namespace in which the bucket lives.
|
|
12
|
+
# @return [String]
|
|
13
|
+
attr_accessor :namespace
|
|
14
|
+
|
|
15
|
+
# The name of the bucket.
|
|
16
|
+
# @return [String]
|
|
17
|
+
attr_accessor :name
|
|
18
|
+
|
|
19
|
+
# Arbitrary string, up to 4KB, of keys and values for user-defined metadata.
|
|
20
|
+
# @return [Hash<String, String>]
|
|
21
|
+
attr_accessor :metadata
|
|
22
|
+
|
|
23
|
+
# The type of public access available on this bucket. Allows authenticated caller to access the bucket or
|
|
24
|
+
# contents of this bucket. By default a bucket is set to NoPublicAccess. It is treated as NoPublicAccess
|
|
25
|
+
# when this value is not specified. When the type is NoPublicAccess the bucket does not allow any public access.
|
|
26
|
+
# When the type is ObjectRead the bucket allows public access to the GetObject, HeadObject, ListObjects.
|
|
27
|
+
#
|
|
28
|
+
# @return [String]
|
|
29
|
+
attr_accessor :public_access_type
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
# Initializes the object
|
|
33
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
34
|
+
def initialize(attributes = {})
|
|
35
|
+
return unless attributes.is_a?(Hash)
|
|
36
|
+
|
|
37
|
+
# convert string to symbol for hash key
|
|
38
|
+
attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
|
|
39
|
+
|
|
40
|
+
if attributes[:'namespace']
|
|
41
|
+
self.namespace = attributes[:'namespace']
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
if attributes[:'name']
|
|
45
|
+
self.name = attributes[:'name']
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
if attributes[:'metadata']
|
|
49
|
+
self.metadata = attributes[:'metadata']
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
if attributes[:'publicAccessType']
|
|
53
|
+
self.public_access_type = attributes[:'publicAccessType']
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
# Custom attribute writer method checking allowed values (enum).
|
|
59
|
+
# @param [Object] public_access_type Object to be assigned
|
|
60
|
+
def public_access_type=(public_access_type)
|
|
61
|
+
if public_access_type && !PUBLIC_ACCESS_TYPE_ENUM.include?(public_access_type)
|
|
62
|
+
fail "Invalid value for 'public_access_type': this must be one of the values in PUBLIC_ACCESS_TYPE_ENUM."
|
|
63
|
+
else
|
|
64
|
+
@public_access_type = public_access_type
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
# Checks equality by comparing each attribute.
|
|
69
|
+
# @param [Object] other_object to be compared
|
|
70
|
+
def ==(other_object)
|
|
71
|
+
return true if self.equal?(other_object)
|
|
72
|
+
self.class == other_object.class &&
|
|
73
|
+
namespace == other_object.namespace &&
|
|
74
|
+
name == other_object.name &&
|
|
75
|
+
metadata == other_object.metadata &&
|
|
76
|
+
public_access_type == other_object.public_access_type
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
# @see the `==` method
|
|
80
|
+
# @param [Object] other_object to be compared
|
|
81
|
+
def eql?(other_object)
|
|
82
|
+
self == other_object
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
# Calculates hash code according to all attributes.
|
|
86
|
+
# @return [Fixnum] Hash code
|
|
87
|
+
def hash
|
|
88
|
+
[namespace, name, metadata, public_access_type].hash
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
# Builds the object from hash
|
|
92
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
93
|
+
# @return [Object] Returns the model itself
|
|
94
|
+
def build_from_hash(attributes)
|
|
95
|
+
return nil unless attributes.is_a?(Hash)
|
|
96
|
+
self.class.swagger_types.each_pair do |key, type|
|
|
97
|
+
if type =~ /^Array<(.*)>/i
|
|
98
|
+
# check to ensure the input is an array given that the the attribute
|
|
99
|
+
# is documented as an array but the input is not
|
|
100
|
+
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
|
101
|
+
self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
|
|
102
|
+
end
|
|
103
|
+
elsif !attributes[self.class.attribute_map[key]].nil?
|
|
104
|
+
self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
|
|
105
|
+
end # or else data not found in attributes(hash), not an issue as the data can be optional
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
self
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
# Returns the string representation of the object
|
|
112
|
+
# @return [String] String presentation of the object
|
|
113
|
+
def to_s
|
|
114
|
+
to_hash.to_s
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
# Returns the object in the form of hash
|
|
118
|
+
# @return [Hash] Returns the object in the form of hash
|
|
119
|
+
def to_hash
|
|
120
|
+
hash = {}
|
|
121
|
+
self.class.attribute_map.each_pair do |attr, param|
|
|
122
|
+
value = self.send(attr)
|
|
123
|
+
next if value.nil?
|
|
124
|
+
hash[param] = _to_hash(value)
|
|
125
|
+
end
|
|
126
|
+
hash
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
private
|
|
130
|
+
|
|
131
|
+
# Outputs non-array value in the form of hash
|
|
132
|
+
# For object, use to_hash. Otherwise, just return the value
|
|
133
|
+
# @param [Object] value Any valid value
|
|
134
|
+
# @return [Hash] Returns the value in the form of hash
|
|
135
|
+
def _to_hash(value)
|
|
136
|
+
if value.is_a?(Array)
|
|
137
|
+
value.compact.map{ |v| _to_hash(v) }
|
|
138
|
+
elsif value.is_a?(Hash)
|
|
139
|
+
{}.tap do |hash|
|
|
140
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
141
|
+
end
|
|
142
|
+
elsif value.respond_to? :to_hash
|
|
143
|
+
value.to_hash
|
|
144
|
+
else
|
|
145
|
+
value
|
|
146
|
+
end
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
|
152
|
+
def self.attribute_map
|
|
153
|
+
{
|
|
154
|
+
:'namespace' => :'namespace',
|
|
155
|
+
:'name' => :'name',
|
|
156
|
+
:'metadata' => :'metadata',
|
|
157
|
+
:'public_access_type' => :'publicAccessType'
|
|
158
|
+
}
|
|
159
|
+
end
|
|
160
|
+
|
|
161
|
+
# Attribute type mapping.
|
|
162
|
+
def self.swagger_types
|
|
163
|
+
{
|
|
164
|
+
:'namespace' => :'String',
|
|
165
|
+
:'name' => :'String',
|
|
166
|
+
:'metadata' => :'Hash<String, String>',
|
|
167
|
+
:'public_access_type' => :'String'
|
|
168
|
+
}
|
|
169
|
+
end
|
|
170
|
+
end
|
|
171
|
+
end
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
|
|
2
|
+
|
|
3
|
+
module OCI
|
|
4
|
+
module ObjectStorage
|
|
5
|
+
module Models
|
|
6
|
+
end
|
|
7
|
+
end
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
# Require models
|
|
11
|
+
require 'oci/object_storage/models/bucket'
|
|
12
|
+
require 'oci/object_storage/models/bucket_summary'
|
|
13
|
+
require 'oci/object_storage/models/commit_multipart_upload_details'
|
|
14
|
+
require 'oci/object_storage/models/commit_multipart_upload_part_details'
|
|
15
|
+
require 'oci/object_storage/models/create_bucket_details'
|
|
16
|
+
require 'oci/object_storage/models/create_multipart_upload_details'
|
|
17
|
+
require 'oci/object_storage/models/create_preauthenticated_request_details'
|
|
18
|
+
require 'oci/object_storage/models/list_objects'
|
|
19
|
+
require 'oci/object_storage/models/multipart_upload'
|
|
20
|
+
require 'oci/object_storage/models/multipart_upload_part_summary'
|
|
21
|
+
require 'oci/object_storage/models/object_summary'
|
|
22
|
+
require 'oci/object_storage/models/preauthenticated_request'
|
|
23
|
+
require 'oci/object_storage/models/preauthenticated_request_summary'
|
|
24
|
+
require 'oci/object_storage/models/update_bucket_details'
|
|
25
|
+
|
|
26
|
+
# Require generated clients
|
|
27
|
+
require 'oci/object_storage/object_storage_client'
|
|
28
|
+
|
|
29
|
+
# Require service utilities
|
|
30
|
+
require 'oci/object_storage/util'
|
|
@@ -0,0 +1,1185 @@
|
|
|
1
|
+
# Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
|
|
2
|
+
|
|
3
|
+
require "uri"
|
|
4
|
+
require "logger"
|
|
5
|
+
|
|
6
|
+
module OCI
|
|
7
|
+
|
|
8
|
+
class ObjectStorage::ObjectStorageClient
|
|
9
|
+
|
|
10
|
+
# Client used to make HTTP requests.
|
|
11
|
+
# @return [OCI::ApiClient]
|
|
12
|
+
attr_reader :api_client
|
|
13
|
+
|
|
14
|
+
# Fully qualified endpoint URL
|
|
15
|
+
# @return [String]
|
|
16
|
+
attr_reader :endpoint
|
|
17
|
+
|
|
18
|
+
# The region, which will usually correspond to a value in {OCI::Regions::REGION_ENUM}.
|
|
19
|
+
# @return [String]
|
|
20
|
+
attr_accessor :region
|
|
21
|
+
|
|
22
|
+
# Creates a new ObjectStorageClient.
|
|
23
|
+
# If a config is not specified, then the global OCI.config will be used.
|
|
24
|
+
#
|
|
25
|
+
# A region must be specified in either the config or the region parameter. If specified
|
|
26
|
+
# in both, then the region parameter will be used.
|
|
27
|
+
#
|
|
28
|
+
# @param [Config] config A Config object.
|
|
29
|
+
# @param [String] region A region used to determine the service endpoint. This will usually
|
|
30
|
+
# correspond to a value in {OCI::Regions::REGION_ENUM}, but may be an arbitrary string.
|
|
31
|
+
#
|
|
32
|
+
def initialize(config:nil, region:nil)
|
|
33
|
+
config ||= OCI.config
|
|
34
|
+
config.validate
|
|
35
|
+
|
|
36
|
+
signer = Signer.new(config.user, config.fingerprint, config.tenancy, config.key_file, pass_phrase: config.pass_phrase, private_key_content: config.key_content, signing_strategy: Signer::OBJECT_STORAGE)
|
|
37
|
+
@api_client = ApiClient.new(config, signer)
|
|
38
|
+
|
|
39
|
+
region ||= config.region
|
|
40
|
+
self.region = region
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
# Set the region that will be used to determine the service endpoint.
|
|
44
|
+
# This will usually correspond to a value in {OCI::Regions::REGION_ENUM},
|
|
45
|
+
# but may be an arbitrary string.
|
|
46
|
+
def region=(r)
|
|
47
|
+
@region = r
|
|
48
|
+
|
|
49
|
+
fail 'A region must be specified.' unless @region
|
|
50
|
+
|
|
51
|
+
@endpoint = OCI::Regions.get_service_endpoint(@region, :ObjectStorageClient) + '/'
|
|
52
|
+
logger.info "ObjectStorageClient endpoint set to '#{endpoint}'." if logger
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
# @return [Logger] The logger for this client. May be nil.
|
|
56
|
+
def logger
|
|
57
|
+
@api_client.config.logger
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
# Aborts an in-progress multipart upload and deletes all parts that have been uploaded.
|
|
62
|
+
#
|
|
63
|
+
# @param [String] namespace_name The top-level namespace used for the request.
|
|
64
|
+
# @param [String] bucket_name The name of the bucket.
|
|
65
|
+
#
|
|
66
|
+
# Example: `my-new-bucket1`
|
|
67
|
+
#
|
|
68
|
+
# @param [String] object_name The name of the object.
|
|
69
|
+
#
|
|
70
|
+
# Example: `test/object1.log`
|
|
71
|
+
#
|
|
72
|
+
# @param [String] upload_id The upload ID for a multipart upload.
|
|
73
|
+
# @param [Hash] opts the optional parameters
|
|
74
|
+
# @option opts [String] :opc_client_request_id The client request ID for tracing.
|
|
75
|
+
# @return [Response] A Response object with data of type nil
|
|
76
|
+
def abort_multipart_upload(namespace_name, bucket_name, object_name, upload_id, opts = {})
|
|
77
|
+
logger.debug "Calling operation ObjectStorageClient#abort_multipart_upload." if logger
|
|
78
|
+
|
|
79
|
+
fail "Missing the required parameter 'namespace_name' when calling abort_multipart_upload." if namespace_name.nil?
|
|
80
|
+
fail "Missing the required parameter 'bucket_name' when calling abort_multipart_upload." if bucket_name.nil?
|
|
81
|
+
fail "Missing the required parameter 'object_name' when calling abort_multipart_upload." if object_name.nil?
|
|
82
|
+
fail "Missing the required parameter 'upload_id' when calling abort_multipart_upload." if upload_id.nil?
|
|
83
|
+
|
|
84
|
+
path = "/n/{namespaceName}/b/{bucketName}/u/{objectName}".sub('{namespaceName}', namespace_name.to_s).sub('{bucketName}', bucket_name.to_s).sub('{objectName}', object_name.to_s)
|
|
85
|
+
|
|
86
|
+
# Query Params
|
|
87
|
+
query_params = {}
|
|
88
|
+
query_params[:'uploadId'] = upload_id
|
|
89
|
+
|
|
90
|
+
# Header Params
|
|
91
|
+
header_params = {}
|
|
92
|
+
header_params['accept'] = 'application/json'
|
|
93
|
+
header_params['content-type'] = 'application/json'
|
|
94
|
+
header_params[:'opc-client-request-id'] = opts[:'opc_client_request_id'] if opts[:'opc_client_request_id']
|
|
95
|
+
|
|
96
|
+
post_body = nil
|
|
97
|
+
|
|
98
|
+
return @api_client.call_api(
|
|
99
|
+
:DELETE,
|
|
100
|
+
path,
|
|
101
|
+
endpoint,
|
|
102
|
+
:header_params => header_params,
|
|
103
|
+
:query_params => query_params,
|
|
104
|
+
:body => post_body)
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
# Commits a multipart upload, which involves checking part numbers and ETags of the parts, to create an aggregate object.
|
|
108
|
+
#
|
|
109
|
+
# @param [String] namespace_name The top-level namespace used for the request.
|
|
110
|
+
# @param [String] bucket_name The name of the bucket.
|
|
111
|
+
#
|
|
112
|
+
# Example: `my-new-bucket1`
|
|
113
|
+
#
|
|
114
|
+
# @param [String] object_name The name of the object.
|
|
115
|
+
#
|
|
116
|
+
# Example: `test/object1.log`
|
|
117
|
+
#
|
|
118
|
+
# @param [String] upload_id The upload ID for a multipart upload.
|
|
119
|
+
# @param [CommitMultipartUploadDetails] commit_multipart_upload_details The part numbers and ETags for the parts you want to commit.
|
|
120
|
+
# @param [Hash] opts the optional parameters
|
|
121
|
+
# @option opts [String] :if_match The entity tag to match. For creating and committing a multipart upload to an object, this is the entity tag of the target object.
|
|
122
|
+
# For uploading a part, this is the entity tag of the target part.
|
|
123
|
+
#
|
|
124
|
+
# @option opts [String] :if_none_match The entity tag to avoid matching. The only valid value is \u2018*\u2019, which indicates that the request should fail if the object already exists.
|
|
125
|
+
# For creating and committing a multipart upload, this is the entity tag of the target object. For uploading a part, this is the entity tag
|
|
126
|
+
# of the target part.
|
|
127
|
+
#
|
|
128
|
+
# @option opts [String] :opc_client_request_id The client request ID for tracing.
|
|
129
|
+
# @return [Response] A Response object with data of type nil
|
|
130
|
+
def commit_multipart_upload(namespace_name, bucket_name, object_name, upload_id, commit_multipart_upload_details, opts = {})
|
|
131
|
+
logger.debug "Calling operation ObjectStorageClient#commit_multipart_upload." if logger
|
|
132
|
+
|
|
133
|
+
fail "Missing the required parameter 'namespace_name' when calling commit_multipart_upload." if namespace_name.nil?
|
|
134
|
+
fail "Missing the required parameter 'bucket_name' when calling commit_multipart_upload." if bucket_name.nil?
|
|
135
|
+
fail "Missing the required parameter 'object_name' when calling commit_multipart_upload." if object_name.nil?
|
|
136
|
+
fail "Missing the required parameter 'upload_id' when calling commit_multipart_upload." if upload_id.nil?
|
|
137
|
+
fail "Missing the required parameter 'commit_multipart_upload_details' when calling commit_multipart_upload." if commit_multipart_upload_details.nil?
|
|
138
|
+
|
|
139
|
+
path = "/n/{namespaceName}/b/{bucketName}/u/{objectName}".sub('{namespaceName}', namespace_name.to_s).sub('{bucketName}', bucket_name.to_s).sub('{objectName}', object_name.to_s)
|
|
140
|
+
|
|
141
|
+
# Query Params
|
|
142
|
+
query_params = {}
|
|
143
|
+
query_params[:'uploadId'] = upload_id
|
|
144
|
+
|
|
145
|
+
# Header Params
|
|
146
|
+
header_params = {}
|
|
147
|
+
header_params['accept'] = 'application/json'
|
|
148
|
+
header_params['content-type'] = 'application/json'
|
|
149
|
+
header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
|
|
150
|
+
header_params[:'if-none-match'] = opts[:'if_none_match'] if opts[:'if_none_match']
|
|
151
|
+
header_params[:'opc-client-request-id'] = opts[:'opc_client_request_id'] if opts[:'opc_client_request_id']
|
|
152
|
+
|
|
153
|
+
post_body = @api_client.object_to_http_body(commit_multipart_upload_details)
|
|
154
|
+
|
|
155
|
+
return @api_client.call_api(
|
|
156
|
+
:POST,
|
|
157
|
+
path,
|
|
158
|
+
endpoint,
|
|
159
|
+
:header_params => header_params,
|
|
160
|
+
:query_params => query_params,
|
|
161
|
+
:body => post_body)
|
|
162
|
+
end
|
|
163
|
+
|
|
164
|
+
# Creates a bucket in the given namespace with a bucket name and optional user-defined metadata.
|
|
165
|
+
#
|
|
166
|
+
# To use this and other API operations, you must be authorized in an IAM policy. If you're not authorized,
|
|
167
|
+
# talk to an administrator. If you're an administrator who needs to write policies to give users access, see
|
|
168
|
+
# [Getting Started with Policies](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/policygetstarted.htm).
|
|
169
|
+
#
|
|
170
|
+
# @param [String] namespace_name The top-level namespace used for the request.
|
|
171
|
+
# @param [CreateBucketDetails] create_bucket_details Request object for creating a bucket.
|
|
172
|
+
# @param [Hash] opts the optional parameters
|
|
173
|
+
# @option opts [String] :opc_client_request_id The client request ID for tracing.
|
|
174
|
+
# @return [Response] A Response object with data of type OCI::ObjectStorage::Models::Bucket
|
|
175
|
+
def create_bucket(namespace_name, create_bucket_details, opts = {})
|
|
176
|
+
logger.debug "Calling operation ObjectStorageClient#create_bucket." if logger
|
|
177
|
+
|
|
178
|
+
fail "Missing the required parameter 'namespace_name' when calling create_bucket." if namespace_name.nil?
|
|
179
|
+
fail "Missing the required parameter 'create_bucket_details' when calling create_bucket." if create_bucket_details.nil?
|
|
180
|
+
|
|
181
|
+
path = "/n/{namespaceName}/b/".sub('{namespaceName}', namespace_name.to_s)
|
|
182
|
+
|
|
183
|
+
# Query Params
|
|
184
|
+
query_params = {}
|
|
185
|
+
|
|
186
|
+
# Header Params
|
|
187
|
+
header_params = {}
|
|
188
|
+
header_params['accept'] = 'application/json'
|
|
189
|
+
header_params['content-type'] = 'application/json'
|
|
190
|
+
header_params[:'opc-client-request-id'] = opts[:'opc_client_request_id'] if opts[:'opc_client_request_id']
|
|
191
|
+
|
|
192
|
+
post_body = @api_client.object_to_http_body(create_bucket_details)
|
|
193
|
+
|
|
194
|
+
return @api_client.call_api(
|
|
195
|
+
:POST,
|
|
196
|
+
path,
|
|
197
|
+
endpoint,
|
|
198
|
+
:header_params => header_params,
|
|
199
|
+
:query_params => query_params,
|
|
200
|
+
:body => post_body,
|
|
201
|
+
:return_type => 'OCI::ObjectStorage::Models::Bucket')
|
|
202
|
+
end
|
|
203
|
+
|
|
204
|
+
# Starts a new multipart upload to a specific object in the given bucket in the given namespace.
|
|
205
|
+
#
|
|
206
|
+
# @param [String] namespace_name The top-level namespace used for the request.
|
|
207
|
+
# @param [String] bucket_name The name of the bucket.
|
|
208
|
+
#
|
|
209
|
+
# Example: `my-new-bucket1`
|
|
210
|
+
#
|
|
211
|
+
# @param [CreateMultipartUploadDetails] create_multipart_upload_details Request object for creating a multi-part upload.
|
|
212
|
+
# @param [Hash] opts the optional parameters
|
|
213
|
+
# @option opts [String] :if_match The entity tag to match. For creating and committing a multipart upload to an object, this is the entity tag of the target object.
|
|
214
|
+
# For uploading a part, this is the entity tag of the target part.
|
|
215
|
+
#
|
|
216
|
+
# @option opts [String] :if_none_match The entity tag to avoid matching. The only valid value is \u2018*\u2019, which indicates that the request should fail if the object already exists.
|
|
217
|
+
# For creating and committing a multipart upload, this is the entity tag of the target object. For uploading a part, this is the entity tag
|
|
218
|
+
# of the target part.
|
|
219
|
+
#
|
|
220
|
+
# @option opts [String] :opc_client_request_id The client request ID for tracing.
|
|
221
|
+
# @return [Response] A Response object with data of type OCI::ObjectStorage::Models::MultipartUpload
|
|
222
|
+
def create_multipart_upload(namespace_name, bucket_name, create_multipart_upload_details, opts = {})
|
|
223
|
+
logger.debug "Calling operation ObjectStorageClient#create_multipart_upload." if logger
|
|
224
|
+
|
|
225
|
+
fail "Missing the required parameter 'namespace_name' when calling create_multipart_upload." if namespace_name.nil?
|
|
226
|
+
fail "Missing the required parameter 'bucket_name' when calling create_multipart_upload." if bucket_name.nil?
|
|
227
|
+
fail "Missing the required parameter 'create_multipart_upload_details' when calling create_multipart_upload." if create_multipart_upload_details.nil?
|
|
228
|
+
|
|
229
|
+
path = "/n/{namespaceName}/b/{bucketName}/u".sub('{namespaceName}', namespace_name.to_s).sub('{bucketName}', bucket_name.to_s)
|
|
230
|
+
|
|
231
|
+
# Query Params
|
|
232
|
+
query_params = {}
|
|
233
|
+
|
|
234
|
+
# Header Params
|
|
235
|
+
header_params = {}
|
|
236
|
+
header_params['accept'] = 'application/json'
|
|
237
|
+
header_params['content-type'] = 'application/json'
|
|
238
|
+
header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
|
|
239
|
+
header_params[:'if-none-match'] = opts[:'if_none_match'] if opts[:'if_none_match']
|
|
240
|
+
header_params[:'opc-client-request-id'] = opts[:'opc_client_request_id'] if opts[:'opc_client_request_id']
|
|
241
|
+
|
|
242
|
+
post_body = @api_client.object_to_http_body(create_multipart_upload_details)
|
|
243
|
+
|
|
244
|
+
return @api_client.call_api(
|
|
245
|
+
:POST,
|
|
246
|
+
path,
|
|
247
|
+
endpoint,
|
|
248
|
+
:header_params => header_params,
|
|
249
|
+
:query_params => query_params,
|
|
250
|
+
:body => post_body,
|
|
251
|
+
:return_type => 'OCI::ObjectStorage::Models::MultipartUpload')
|
|
252
|
+
end
|
|
253
|
+
|
|
254
|
+
# Create a pre-authenticated request specific to the bucket
|
|
255
|
+
#
|
|
256
|
+
# @param [String] namespace_name The top-level namespace used for the request.
|
|
257
|
+
# @param [String] bucket_name The name of the bucket.
|
|
258
|
+
#
|
|
259
|
+
# Example: `my-new-bucket1`
|
|
260
|
+
#
|
|
261
|
+
# @param [CreatePreauthenticatedRequestDetails] create_preauthenticated_request_details details for creating the pre-authenticated request.
|
|
262
|
+
# @param [Hash] opts the optional parameters
|
|
263
|
+
# @option opts [String] :opc_client_request_id The client request ID for tracing.
|
|
264
|
+
# @return [Response] A Response object with data of type OCI::ObjectStorage::Models::PreauthenticatedRequest
|
|
265
|
+
def create_preauthenticated_request(namespace_name, bucket_name, create_preauthenticated_request_details, opts = {})
|
|
266
|
+
logger.debug "Calling operation ObjectStorageClient#create_preauthenticated_request." if logger
|
|
267
|
+
|
|
268
|
+
fail "Missing the required parameter 'namespace_name' when calling create_preauthenticated_request." if namespace_name.nil?
|
|
269
|
+
fail "Missing the required parameter 'bucket_name' when calling create_preauthenticated_request." if bucket_name.nil?
|
|
270
|
+
fail "Missing the required parameter 'create_preauthenticated_request_details' when calling create_preauthenticated_request." if create_preauthenticated_request_details.nil?
|
|
271
|
+
|
|
272
|
+
path = "/n/{namespaceName}/b/{bucketName}/p/".sub('{namespaceName}', namespace_name.to_s).sub('{bucketName}', bucket_name.to_s)
|
|
273
|
+
|
|
274
|
+
# Query Params
|
|
275
|
+
query_params = {}
|
|
276
|
+
|
|
277
|
+
# Header Params
|
|
278
|
+
header_params = {}
|
|
279
|
+
header_params['accept'] = 'application/json'
|
|
280
|
+
header_params['content-type'] = 'application/json'
|
|
281
|
+
header_params[:'opc-client-request-id'] = opts[:'opc_client_request_id'] if opts[:'opc_client_request_id']
|
|
282
|
+
|
|
283
|
+
post_body = @api_client.object_to_http_body(create_preauthenticated_request_details)
|
|
284
|
+
|
|
285
|
+
return @api_client.call_api(
|
|
286
|
+
:POST,
|
|
287
|
+
path,
|
|
288
|
+
endpoint,
|
|
289
|
+
:header_params => header_params,
|
|
290
|
+
:query_params => query_params,
|
|
291
|
+
:body => post_body,
|
|
292
|
+
:return_type => 'OCI::ObjectStorage::Models::PreauthenticatedRequest')
|
|
293
|
+
end
|
|
294
|
+
|
|
295
|
+
# Deletes a bucket if it is already empty. If the bucket is not empty, use {#delete_object delete_object} first.
|
|
296
|
+
#
|
|
297
|
+
# @param [String] namespace_name The top-level namespace used for the request.
|
|
298
|
+
# @param [String] bucket_name The name of the bucket.
|
|
299
|
+
#
|
|
300
|
+
# Example: `my-new-bucket1`
|
|
301
|
+
#
|
|
302
|
+
# @param [Hash] opts the optional parameters
|
|
303
|
+
# @option opts [String] :if_match The entity tag to match. For creating and committing a multipart upload to an object, this is the entity tag of the target object.
|
|
304
|
+
# For uploading a part, this is the entity tag of the target part.
|
|
305
|
+
#
|
|
306
|
+
# @option opts [String] :opc_client_request_id The client request ID for tracing.
|
|
307
|
+
# @return [Response] A Response object with data of type nil
|
|
308
|
+
def delete_bucket(namespace_name, bucket_name, opts = {})
|
|
309
|
+
logger.debug "Calling operation ObjectStorageClient#delete_bucket." if logger
|
|
310
|
+
|
|
311
|
+
fail "Missing the required parameter 'namespace_name' when calling delete_bucket." if namespace_name.nil?
|
|
312
|
+
fail "Missing the required parameter 'bucket_name' when calling delete_bucket." if bucket_name.nil?
|
|
313
|
+
|
|
314
|
+
path = "/n/{namespaceName}/b/{bucketName}/".sub('{namespaceName}', namespace_name.to_s).sub('{bucketName}', bucket_name.to_s)
|
|
315
|
+
|
|
316
|
+
# Query Params
|
|
317
|
+
query_params = {}
|
|
318
|
+
|
|
319
|
+
# Header Params
|
|
320
|
+
header_params = {}
|
|
321
|
+
header_params['accept'] = 'application/json'
|
|
322
|
+
header_params['content-type'] = 'application/json'
|
|
323
|
+
header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
|
|
324
|
+
header_params[:'opc-client-request-id'] = opts[:'opc_client_request_id'] if opts[:'opc_client_request_id']
|
|
325
|
+
|
|
326
|
+
post_body = nil
|
|
327
|
+
|
|
328
|
+
return @api_client.call_api(
|
|
329
|
+
:DELETE,
|
|
330
|
+
path,
|
|
331
|
+
endpoint,
|
|
332
|
+
:header_params => header_params,
|
|
333
|
+
:query_params => query_params,
|
|
334
|
+
:body => post_body)
|
|
335
|
+
end
|
|
336
|
+
|
|
337
|
+
# Deletes an object.
|
|
338
|
+
#
|
|
339
|
+
# @param [String] namespace_name The top-level namespace used for the request.
|
|
340
|
+
# @param [String] bucket_name The name of the bucket.
|
|
341
|
+
#
|
|
342
|
+
# Example: `my-new-bucket1`
|
|
343
|
+
#
|
|
344
|
+
# @param [String] object_name The name of the object.
|
|
345
|
+
#
|
|
346
|
+
# Example: `test/object1.log`
|
|
347
|
+
#
|
|
348
|
+
# @param [Hash] opts the optional parameters
|
|
349
|
+
# @option opts [String] :if_match The entity tag to match. For creating and committing a multipart upload to an object, this is the entity tag of the target object.
|
|
350
|
+
# For uploading a part, this is the entity tag of the target part.
|
|
351
|
+
#
|
|
352
|
+
# @option opts [String] :opc_client_request_id The client request ID for tracing.
|
|
353
|
+
# @return [Response] A Response object with data of type nil
|
|
354
|
+
def delete_object(namespace_name, bucket_name, object_name, opts = {})
|
|
355
|
+
logger.debug "Calling operation ObjectStorageClient#delete_object." if logger
|
|
356
|
+
|
|
357
|
+
fail "Missing the required parameter 'namespace_name' when calling delete_object." if namespace_name.nil?
|
|
358
|
+
fail "Missing the required parameter 'bucket_name' when calling delete_object." if bucket_name.nil?
|
|
359
|
+
fail "Missing the required parameter 'object_name' when calling delete_object." if object_name.nil?
|
|
360
|
+
|
|
361
|
+
path = "/n/{namespaceName}/b/{bucketName}/o/{objectName}".sub('{namespaceName}', namespace_name.to_s).sub('{bucketName}', bucket_name.to_s).sub('{objectName}', object_name.to_s)
|
|
362
|
+
|
|
363
|
+
# Query Params
|
|
364
|
+
query_params = {}
|
|
365
|
+
|
|
366
|
+
# Header Params
|
|
367
|
+
header_params = {}
|
|
368
|
+
header_params['accept'] = 'application/json'
|
|
369
|
+
header_params['content-type'] = 'application/json'
|
|
370
|
+
header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
|
|
371
|
+
header_params[:'opc-client-request-id'] = opts[:'opc_client_request_id'] if opts[:'opc_client_request_id']
|
|
372
|
+
|
|
373
|
+
post_body = nil
|
|
374
|
+
|
|
375
|
+
return @api_client.call_api(
|
|
376
|
+
:DELETE,
|
|
377
|
+
path,
|
|
378
|
+
endpoint,
|
|
379
|
+
:header_params => header_params,
|
|
380
|
+
:query_params => query_params,
|
|
381
|
+
:body => post_body)
|
|
382
|
+
end
|
|
383
|
+
|
|
384
|
+
# Deletes the bucket level pre-authenticateted request
|
|
385
|
+
# @param [String] namespace_name The top-level namespace used for the request.
|
|
386
|
+
# @param [String] bucket_name The name of the bucket.
|
|
387
|
+
#
|
|
388
|
+
# Example: `my-new-bucket1`
|
|
389
|
+
#
|
|
390
|
+
# @param [String] par_id The unique identifier for the pre-authenticated request (PAR). This can be used to manage the PAR
|
|
391
|
+
# such as GET or DELETE the PAR
|
|
392
|
+
#
|
|
393
|
+
# @param [Hash] opts the optional parameters
|
|
394
|
+
# @option opts [String] :opc_client_request_id The client request ID for tracing.
|
|
395
|
+
# @return [Response] A Response object with data of type nil
|
|
396
|
+
def delete_preauthenticated_request(namespace_name, bucket_name, par_id, opts = {})
|
|
397
|
+
logger.debug "Calling operation ObjectStorageClient#delete_preauthenticated_request." if logger
|
|
398
|
+
|
|
399
|
+
fail "Missing the required parameter 'namespace_name' when calling delete_preauthenticated_request." if namespace_name.nil?
|
|
400
|
+
fail "Missing the required parameter 'bucket_name' when calling delete_preauthenticated_request." if bucket_name.nil?
|
|
401
|
+
fail "Missing the required parameter 'par_id' when calling delete_preauthenticated_request." if par_id.nil?
|
|
402
|
+
|
|
403
|
+
path = "/n/{namespaceName}/b/{bucketName}/p/{parId}".sub('{namespaceName}', namespace_name.to_s).sub('{bucketName}', bucket_name.to_s).sub('{parId}', par_id.to_s)
|
|
404
|
+
|
|
405
|
+
# Query Params
|
|
406
|
+
query_params = {}
|
|
407
|
+
|
|
408
|
+
# Header Params
|
|
409
|
+
header_params = {}
|
|
410
|
+
header_params['accept'] = 'application/json'
|
|
411
|
+
header_params['content-type'] = 'application/json'
|
|
412
|
+
header_params[:'opc-client-request-id'] = opts[:'opc_client_request_id'] if opts[:'opc_client_request_id']
|
|
413
|
+
|
|
414
|
+
post_body = nil
|
|
415
|
+
|
|
416
|
+
return @api_client.call_api(
|
|
417
|
+
:DELETE,
|
|
418
|
+
path,
|
|
419
|
+
endpoint,
|
|
420
|
+
:header_params => header_params,
|
|
421
|
+
:query_params => query_params,
|
|
422
|
+
:body => post_body)
|
|
423
|
+
end
|
|
424
|
+
|
|
425
|
+
# Gets the current representation of the given bucket in the given namespace.
|
|
426
|
+
#
|
|
427
|
+
# @param [String] namespace_name The top-level namespace used for the request.
|
|
428
|
+
# @param [String] bucket_name The name of the bucket.
|
|
429
|
+
#
|
|
430
|
+
# Example: `my-new-bucket1`
|
|
431
|
+
#
|
|
432
|
+
# @param [Hash] opts the optional parameters
|
|
433
|
+
# @option opts [String] :if_match The entity tag to match. For creating and committing a multipart upload to an object, this is the entity tag of the target object.
|
|
434
|
+
# For uploading a part, this is the entity tag of the target part.
|
|
435
|
+
#
|
|
436
|
+
# @option opts [String] :if_none_match The entity tag to avoid matching. The only valid value is \u2018*\u2019, which indicates that the request should fail if the object already exists.
|
|
437
|
+
# For creating and committing a multipart upload, this is the entity tag of the target object. For uploading a part, this is the entity tag
|
|
438
|
+
# of the target part.
|
|
439
|
+
#
|
|
440
|
+
# @option opts [String] :opc_client_request_id The client request ID for tracing.
|
|
441
|
+
# @return [Response] A Response object with data of type OCI::ObjectStorage::Models::Bucket
|
|
442
|
+
def get_bucket(namespace_name, bucket_name, opts = {})
|
|
443
|
+
logger.debug "Calling operation ObjectStorageClient#get_bucket." if logger
|
|
444
|
+
|
|
445
|
+
fail "Missing the required parameter 'namespace_name' when calling get_bucket." if namespace_name.nil?
|
|
446
|
+
fail "Missing the required parameter 'bucket_name' when calling get_bucket." if bucket_name.nil?
|
|
447
|
+
|
|
448
|
+
path = "/n/{namespaceName}/b/{bucketName}/".sub('{namespaceName}', namespace_name.to_s).sub('{bucketName}', bucket_name.to_s)
|
|
449
|
+
|
|
450
|
+
# Query Params
|
|
451
|
+
query_params = {}
|
|
452
|
+
|
|
453
|
+
# Header Params
|
|
454
|
+
header_params = {}
|
|
455
|
+
header_params['accept'] = 'application/json'
|
|
456
|
+
header_params['content-type'] = 'application/json'
|
|
457
|
+
header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
|
|
458
|
+
header_params[:'if-none-match'] = opts[:'if_none_match'] if opts[:'if_none_match']
|
|
459
|
+
header_params[:'opc-client-request-id'] = opts[:'opc_client_request_id'] if opts[:'opc_client_request_id']
|
|
460
|
+
|
|
461
|
+
post_body = nil
|
|
462
|
+
|
|
463
|
+
return @api_client.call_api(
|
|
464
|
+
:GET,
|
|
465
|
+
path,
|
|
466
|
+
endpoint,
|
|
467
|
+
:header_params => header_params,
|
|
468
|
+
:query_params => query_params,
|
|
469
|
+
:body => post_body,
|
|
470
|
+
:return_type => 'OCI::ObjectStorage::Models::Bucket')
|
|
471
|
+
end
|
|
472
|
+
|
|
473
|
+
# Gets the name of the namespace for the user making the request. An account name must be unique, must start with a
|
|
474
|
+
# letter, and can have up to 15 lowercase letters and numbers. You cannot use spaces or special characters.
|
|
475
|
+
#
|
|
476
|
+
# @param [Hash] opts the optional parameters
|
|
477
|
+
# @option opts [String] :opc_client_request_id The client request ID for tracing.
|
|
478
|
+
# @return [Response] A Response object with data of type String
|
|
479
|
+
def get_namespace(opts = {})
|
|
480
|
+
logger.debug "Calling operation ObjectStorageClient#get_namespace." if logger
|
|
481
|
+
|
|
482
|
+
|
|
483
|
+
path = "/n/"
|
|
484
|
+
|
|
485
|
+
# Query Params
|
|
486
|
+
query_params = {}
|
|
487
|
+
|
|
488
|
+
# Header Params
|
|
489
|
+
header_params = {}
|
|
490
|
+
header_params['accept'] = 'application/json'
|
|
491
|
+
header_params['content-type'] = 'application/json'
|
|
492
|
+
header_params[:'opc-client-request-id'] = opts[:'opc_client_request_id'] if opts[:'opc_client_request_id']
|
|
493
|
+
|
|
494
|
+
post_body = nil
|
|
495
|
+
|
|
496
|
+
return @api_client.call_api(
|
|
497
|
+
:GET,
|
|
498
|
+
path,
|
|
499
|
+
endpoint,
|
|
500
|
+
:header_params => header_params,
|
|
501
|
+
:query_params => query_params,
|
|
502
|
+
:body => post_body,
|
|
503
|
+
:return_type => 'String')
|
|
504
|
+
end
|
|
505
|
+
|
|
506
|
+
# Gets the metadata and body of an object.
|
|
507
|
+
#
|
|
508
|
+
# @param [String] namespace_name The top-level namespace used for the request.
|
|
509
|
+
# @param [String] bucket_name The name of the bucket.
|
|
510
|
+
#
|
|
511
|
+
# Example: `my-new-bucket1`
|
|
512
|
+
#
|
|
513
|
+
# @param [String] object_name The name of the object.
|
|
514
|
+
#
|
|
515
|
+
# Example: `test/object1.log`
|
|
516
|
+
#
|
|
517
|
+
# @param [Hash] opts the optional parameters
|
|
518
|
+
# @option opts [String] :if_match The entity tag to match. For creating and committing a multipart upload to an object, this is the entity tag of the target object.
|
|
519
|
+
# For uploading a part, this is the entity tag of the target part.
|
|
520
|
+
#
|
|
521
|
+
# @option opts [String] :if_none_match The entity tag to avoid matching. The only valid value is \u2018*\u2019, which indicates that the request should fail if the object already exists.
|
|
522
|
+
# For creating and committing a multipart upload, this is the entity tag of the target object. For uploading a part, this is the entity tag
|
|
523
|
+
# of the target part.
|
|
524
|
+
#
|
|
525
|
+
# @option opts [String] :opc_client_request_id The client request ID for tracing.
|
|
526
|
+
# @option opts [String] :range Optional byte range to fetch, as described in [RFC 7233](https://tools.ietf.org/rfc/rfc7233), section 2.1.
|
|
527
|
+
# Note, only a single range of bytes is supported.
|
|
528
|
+
#
|
|
529
|
+
# @option opts [String, IO] :response_target Streaming http body into a file (specified by file name or File object) or IO object if the block is not given
|
|
530
|
+
# @option [Block] &block Streaming http body to the block
|
|
531
|
+
# @return [Response] A Response object with data of type String if response_target and block are not given, otherwise with nil data
|
|
532
|
+
def get_object(namespace_name, bucket_name, object_name, opts = {}, &block)
|
|
533
|
+
logger.debug "Calling operation ObjectStorageClient#get_object." if logger
|
|
534
|
+
|
|
535
|
+
fail "Missing the required parameter 'namespace_name' when calling get_object." if namespace_name.nil?
|
|
536
|
+
fail "Missing the required parameter 'bucket_name' when calling get_object." if bucket_name.nil?
|
|
537
|
+
fail "Missing the required parameter 'object_name' when calling get_object." if object_name.nil?
|
|
538
|
+
|
|
539
|
+
path = "/n/{namespaceName}/b/{bucketName}/o/{objectName}".sub('{namespaceName}', namespace_name.to_s).sub('{bucketName}', bucket_name.to_s).sub('{objectName}', object_name.to_s)
|
|
540
|
+
|
|
541
|
+
# Query Params
|
|
542
|
+
query_params = {}
|
|
543
|
+
|
|
544
|
+
# Header Params
|
|
545
|
+
header_params = {}
|
|
546
|
+
header_params['accept'] = 'application/json'
|
|
547
|
+
header_params['content-type'] = 'application/json'
|
|
548
|
+
header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
|
|
549
|
+
header_params[:'if-none-match'] = opts[:'if_none_match'] if opts[:'if_none_match']
|
|
550
|
+
header_params[:'opc-client-request-id'] = opts[:'opc_client_request_id'] if opts[:'opc_client_request_id']
|
|
551
|
+
header_params[:'range'] = opts[:'range'] if opts[:'range']
|
|
552
|
+
|
|
553
|
+
post_body = nil
|
|
554
|
+
|
|
555
|
+
if !block.nil?
|
|
556
|
+
return @api_client.call_api(
|
|
557
|
+
:GET,
|
|
558
|
+
path,
|
|
559
|
+
endpoint,
|
|
560
|
+
header_params: header_params,
|
|
561
|
+
query_params: query_params,
|
|
562
|
+
body: post_body,
|
|
563
|
+
return_type: 'Stream',
|
|
564
|
+
&block
|
|
565
|
+
)
|
|
566
|
+
elsif opts[:response_target]
|
|
567
|
+
if opts[:response_target].respond_to? :write
|
|
568
|
+
return @api_client.call_api(
|
|
569
|
+
:GET,
|
|
570
|
+
path,
|
|
571
|
+
endpoint,
|
|
572
|
+
header_params: header_params,
|
|
573
|
+
query_params: query_params,
|
|
574
|
+
body: post_body,
|
|
575
|
+
return_type: 'Stream',
|
|
576
|
+
&proc { |chunk, response| opts[:response_target].write(chunk) }
|
|
577
|
+
)
|
|
578
|
+
elsif opts[:response_target].is_a?(String)
|
|
579
|
+
open(opts[:response_target], 'wb') do |output|
|
|
580
|
+
return @api_client.call_api(
|
|
581
|
+
:GET,
|
|
582
|
+
path,
|
|
583
|
+
endpoint,
|
|
584
|
+
header_params: header_params,
|
|
585
|
+
query_params: query_params,
|
|
586
|
+
body: post_body,
|
|
587
|
+
return_type: 'Stream',
|
|
588
|
+
&proc { |chunk, response| output.write(chunk) }
|
|
589
|
+
)
|
|
590
|
+
end
|
|
591
|
+
end
|
|
592
|
+
else
|
|
593
|
+
return @api_client.call_api(
|
|
594
|
+
:GET,
|
|
595
|
+
path,
|
|
596
|
+
endpoint,
|
|
597
|
+
header_params:header_params,
|
|
598
|
+
query_params: query_params,
|
|
599
|
+
body: post_body,
|
|
600
|
+
return_type: 'String'
|
|
601
|
+
)
|
|
602
|
+
end
|
|
603
|
+
end
|
|
604
|
+
|
|
605
|
+
# Get the bucket level pre-authenticateted request
|
|
606
|
+
# @param [String] namespace_name The top-level namespace used for the request.
|
|
607
|
+
# @param [String] bucket_name The name of the bucket.
|
|
608
|
+
#
|
|
609
|
+
# Example: `my-new-bucket1`
|
|
610
|
+
#
|
|
611
|
+
# @param [String] par_id The unique identifier for the pre-authenticated request (PAR). This can be used to manage the PAR
|
|
612
|
+
# such as GET or DELETE the PAR
|
|
613
|
+
#
|
|
614
|
+
# @param [Hash] opts the optional parameters
|
|
615
|
+
# @option opts [String] :opc_client_request_id The client request ID for tracing.
|
|
616
|
+
# @return [Response] A Response object with data of type OCI::ObjectStorage::Models::PreauthenticatedRequestSummary
|
|
617
|
+
def get_preauthenticated_request(namespace_name, bucket_name, par_id, opts = {})
|
|
618
|
+
logger.debug "Calling operation ObjectStorageClient#get_preauthenticated_request." if logger
|
|
619
|
+
|
|
620
|
+
fail "Missing the required parameter 'namespace_name' when calling get_preauthenticated_request." if namespace_name.nil?
|
|
621
|
+
fail "Missing the required parameter 'bucket_name' when calling get_preauthenticated_request." if bucket_name.nil?
|
|
622
|
+
fail "Missing the required parameter 'par_id' when calling get_preauthenticated_request." if par_id.nil?
|
|
623
|
+
|
|
624
|
+
path = "/n/{namespaceName}/b/{bucketName}/p/{parId}".sub('{namespaceName}', namespace_name.to_s).sub('{bucketName}', bucket_name.to_s).sub('{parId}', par_id.to_s)
|
|
625
|
+
|
|
626
|
+
# Query Params
|
|
627
|
+
query_params = {}
|
|
628
|
+
|
|
629
|
+
# Header Params
|
|
630
|
+
header_params = {}
|
|
631
|
+
header_params['accept'] = 'application/json'
|
|
632
|
+
header_params['content-type'] = 'application/json'
|
|
633
|
+
header_params[:'opc-client-request-id'] = opts[:'opc_client_request_id'] if opts[:'opc_client_request_id']
|
|
634
|
+
|
|
635
|
+
post_body = nil
|
|
636
|
+
|
|
637
|
+
return @api_client.call_api(
|
|
638
|
+
:GET,
|
|
639
|
+
path,
|
|
640
|
+
endpoint,
|
|
641
|
+
:header_params => header_params,
|
|
642
|
+
:query_params => query_params,
|
|
643
|
+
:body => post_body,
|
|
644
|
+
:return_type => 'OCI::ObjectStorage::Models::PreauthenticatedRequestSummary')
|
|
645
|
+
end
|
|
646
|
+
|
|
647
|
+
# Efficiently checks if a bucket exists and gets the current ETag for the bucket.
|
|
648
|
+
#
|
|
649
|
+
# @param [String] namespace_name The top-level namespace used for the request.
|
|
650
|
+
# @param [String] bucket_name The name of the bucket.
|
|
651
|
+
#
|
|
652
|
+
# Example: `my-new-bucket1`
|
|
653
|
+
#
|
|
654
|
+
# @param [Hash] opts the optional parameters
|
|
655
|
+
# @option opts [String] :if_match The entity tag to match. For creating and committing a multipart upload to an object, this is the entity tag of the target object.
|
|
656
|
+
# For uploading a part, this is the entity tag of the target part.
|
|
657
|
+
#
|
|
658
|
+
# @option opts [String] :if_none_match The entity tag to avoid matching. The only valid value is \u2018*\u2019, which indicates that the request should fail if the object already exists.
|
|
659
|
+
# For creating and committing a multipart upload, this is the entity tag of the target object. For uploading a part, this is the entity tag
|
|
660
|
+
# of the target part.
|
|
661
|
+
#
|
|
662
|
+
# @option opts [String] :opc_client_request_id The client request ID for tracing.
|
|
663
|
+
# @return [Response] A Response object with data of type nil
|
|
664
|
+
def head_bucket(namespace_name, bucket_name, opts = {})
|
|
665
|
+
logger.debug "Calling operation ObjectStorageClient#head_bucket." if logger
|
|
666
|
+
|
|
667
|
+
fail "Missing the required parameter 'namespace_name' when calling head_bucket." if namespace_name.nil?
|
|
668
|
+
fail "Missing the required parameter 'bucket_name' when calling head_bucket." if bucket_name.nil?
|
|
669
|
+
|
|
670
|
+
path = "/n/{namespaceName}/b/{bucketName}/".sub('{namespaceName}', namespace_name.to_s).sub('{bucketName}', bucket_name.to_s)
|
|
671
|
+
|
|
672
|
+
# Query Params
|
|
673
|
+
query_params = {}
|
|
674
|
+
|
|
675
|
+
# Header Params
|
|
676
|
+
header_params = {}
|
|
677
|
+
header_params['accept'] = 'application/json'
|
|
678
|
+
header_params['content-type'] = 'application/json'
|
|
679
|
+
header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
|
|
680
|
+
header_params[:'if-none-match'] = opts[:'if_none_match'] if opts[:'if_none_match']
|
|
681
|
+
header_params[:'opc-client-request-id'] = opts[:'opc_client_request_id'] if opts[:'opc_client_request_id']
|
|
682
|
+
|
|
683
|
+
post_body = nil
|
|
684
|
+
|
|
685
|
+
return @api_client.call_api(
|
|
686
|
+
:HEAD,
|
|
687
|
+
path,
|
|
688
|
+
endpoint,
|
|
689
|
+
:header_params => header_params,
|
|
690
|
+
:query_params => query_params,
|
|
691
|
+
:body => post_body)
|
|
692
|
+
end
|
|
693
|
+
|
|
694
|
+
# Gets the user-defined metadata and entity tag for an object.
|
|
695
|
+
#
|
|
696
|
+
# @param [String] namespace_name The top-level namespace used for the request.
|
|
697
|
+
# @param [String] bucket_name The name of the bucket.
|
|
698
|
+
#
|
|
699
|
+
# Example: `my-new-bucket1`
|
|
700
|
+
#
|
|
701
|
+
# @param [String] object_name The name of the object.
|
|
702
|
+
#
|
|
703
|
+
# Example: `test/object1.log`
|
|
704
|
+
#
|
|
705
|
+
# @param [Hash] opts the optional parameters
|
|
706
|
+
# @option opts [String] :if_match The entity tag to match. For creating and committing a multipart upload to an object, this is the entity tag of the target object.
|
|
707
|
+
# For uploading a part, this is the entity tag of the target part.
|
|
708
|
+
#
|
|
709
|
+
# @option opts [String] :if_none_match The entity tag to avoid matching. The only valid value is \u2018*\u2019, which indicates that the request should fail if the object already exists.
|
|
710
|
+
# For creating and committing a multipart upload, this is the entity tag of the target object. For uploading a part, this is the entity tag
|
|
711
|
+
# of the target part.
|
|
712
|
+
#
|
|
713
|
+
# @option opts [String] :opc_client_request_id The client request ID for tracing.
|
|
714
|
+
# @return [Response] A Response object with data of type nil
|
|
715
|
+
def head_object(namespace_name, bucket_name, object_name, opts = {})
|
|
716
|
+
logger.debug "Calling operation ObjectStorageClient#head_object." if logger
|
|
717
|
+
|
|
718
|
+
fail "Missing the required parameter 'namespace_name' when calling head_object." if namespace_name.nil?
|
|
719
|
+
fail "Missing the required parameter 'bucket_name' when calling head_object." if bucket_name.nil?
|
|
720
|
+
fail "Missing the required parameter 'object_name' when calling head_object." if object_name.nil?
|
|
721
|
+
|
|
722
|
+
path = "/n/{namespaceName}/b/{bucketName}/o/{objectName}".sub('{namespaceName}', namespace_name.to_s).sub('{bucketName}', bucket_name.to_s).sub('{objectName}', object_name.to_s)
|
|
723
|
+
|
|
724
|
+
# Query Params
|
|
725
|
+
query_params = {}
|
|
726
|
+
|
|
727
|
+
# Header Params
|
|
728
|
+
header_params = {}
|
|
729
|
+
header_params['accept'] = 'application/json'
|
|
730
|
+
header_params['content-type'] = 'application/json'
|
|
731
|
+
header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
|
|
732
|
+
header_params[:'if-none-match'] = opts[:'if_none_match'] if opts[:'if_none_match']
|
|
733
|
+
header_params[:'opc-client-request-id'] = opts[:'opc_client_request_id'] if opts[:'opc_client_request_id']
|
|
734
|
+
|
|
735
|
+
post_body = nil
|
|
736
|
+
|
|
737
|
+
return @api_client.call_api(
|
|
738
|
+
:HEAD,
|
|
739
|
+
path,
|
|
740
|
+
endpoint,
|
|
741
|
+
:header_params => header_params,
|
|
742
|
+
:query_params => query_params,
|
|
743
|
+
:body => post_body)
|
|
744
|
+
end
|
|
745
|
+
|
|
746
|
+
# Gets a list of all `BucketSummary`s in a compartment. A `BucketSummary` contains only summary fields for the bucket
|
|
747
|
+
# and does not contain fields like the user-defined metadata.
|
|
748
|
+
#
|
|
749
|
+
# To use this and other API operations, you must be authorized in an IAM policy. If you're not authorized,
|
|
750
|
+
# talk to an administrator. If you're an administrator who needs to write policies to give users access, see
|
|
751
|
+
# [Getting Started with Policies](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/policygetstarted.htm).
|
|
752
|
+
#
|
|
753
|
+
# @param [String] namespace_name The top-level namespace used for the request.
|
|
754
|
+
# @param [String] compartment_id The ID of the compartment in which to create the bucket.
|
|
755
|
+
# @param [Hash] opts the optional parameters
|
|
756
|
+
# @option opts [Integer] :limit The maximum number of items to return.
|
|
757
|
+
# @option opts [String] :page The page at which to start retrieving results.
|
|
758
|
+
# @option opts [String] :opc_client_request_id The client request ID for tracing.
|
|
759
|
+
# @return [Response] A Response object with data of type Array<OCI::ObjectStorage::Models::BucketSummary>
|
|
760
|
+
def list_buckets(namespace_name, compartment_id, opts = {})
|
|
761
|
+
logger.debug "Calling operation ObjectStorageClient#list_buckets." if logger
|
|
762
|
+
|
|
763
|
+
fail "Missing the required parameter 'namespace_name' when calling list_buckets." if namespace_name.nil?
|
|
764
|
+
fail "Missing the required parameter 'compartment_id' when calling list_buckets." if compartment_id.nil?
|
|
765
|
+
|
|
766
|
+
path = "/n/{namespaceName}/b/".sub('{namespaceName}', namespace_name.to_s)
|
|
767
|
+
|
|
768
|
+
# Query Params
|
|
769
|
+
query_params = {}
|
|
770
|
+
query_params[:'compartmentId'] = compartment_id
|
|
771
|
+
query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
|
|
772
|
+
query_params[:'page'] = opts[:'page'] if opts[:'page']
|
|
773
|
+
|
|
774
|
+
# Header Params
|
|
775
|
+
header_params = {}
|
|
776
|
+
header_params['accept'] = 'application/json'
|
|
777
|
+
header_params['content-type'] = 'application/json'
|
|
778
|
+
header_params[:'opc-client-request-id'] = opts[:'opc_client_request_id'] if opts[:'opc_client_request_id']
|
|
779
|
+
|
|
780
|
+
post_body = nil
|
|
781
|
+
|
|
782
|
+
return @api_client.call_api(
|
|
783
|
+
:GET,
|
|
784
|
+
path,
|
|
785
|
+
endpoint,
|
|
786
|
+
:header_params => header_params,
|
|
787
|
+
:query_params => query_params,
|
|
788
|
+
:body => post_body,
|
|
789
|
+
:return_type => 'Array<OCI::ObjectStorage::Models::BucketSummary>')
|
|
790
|
+
end
|
|
791
|
+
|
|
792
|
+
# Lists the parts of an in-progress multipart upload.
|
|
793
|
+
#
|
|
794
|
+
# @param [String] namespace_name The top-level namespace used for the request.
|
|
795
|
+
# @param [String] bucket_name The name of the bucket.
|
|
796
|
+
#
|
|
797
|
+
# Example: `my-new-bucket1`
|
|
798
|
+
#
|
|
799
|
+
# @param [String] object_name The name of the object.
|
|
800
|
+
#
|
|
801
|
+
# Example: `test/object1.log`
|
|
802
|
+
#
|
|
803
|
+
# @param [String] upload_id The upload ID for a multipart upload.
|
|
804
|
+
# @param [Hash] opts the optional parameters
|
|
805
|
+
# @option opts [Integer] :limit The maximum number of items to return.
|
|
806
|
+
# @option opts [String] :page The page at which to start retrieving results.
|
|
807
|
+
# @option opts [String] :opc_client_request_id The client request ID for tracing.
|
|
808
|
+
# @return [Response] A Response object with data of type Array<OCI::ObjectStorage::Models::MultipartUploadPartSummary>
|
|
809
|
+
def list_multipart_upload_parts(namespace_name, bucket_name, object_name, upload_id, opts = {})
|
|
810
|
+
logger.debug "Calling operation ObjectStorageClient#list_multipart_upload_parts." if logger
|
|
811
|
+
|
|
812
|
+
fail "Missing the required parameter 'namespace_name' when calling list_multipart_upload_parts." if namespace_name.nil?
|
|
813
|
+
fail "Missing the required parameter 'bucket_name' when calling list_multipart_upload_parts." if bucket_name.nil?
|
|
814
|
+
fail "Missing the required parameter 'object_name' when calling list_multipart_upload_parts." if object_name.nil?
|
|
815
|
+
fail "Missing the required parameter 'upload_id' when calling list_multipart_upload_parts." if upload_id.nil?
|
|
816
|
+
|
|
817
|
+
path = "/n/{namespaceName}/b/{bucketName}/u/{objectName}".sub('{namespaceName}', namespace_name.to_s).sub('{bucketName}', bucket_name.to_s).sub('{objectName}', object_name.to_s)
|
|
818
|
+
|
|
819
|
+
# Query Params
|
|
820
|
+
query_params = {}
|
|
821
|
+
query_params[:'uploadId'] = upload_id
|
|
822
|
+
query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
|
|
823
|
+
query_params[:'page'] = opts[:'page'] if opts[:'page']
|
|
824
|
+
|
|
825
|
+
# Header Params
|
|
826
|
+
header_params = {}
|
|
827
|
+
header_params['accept'] = 'application/json'
|
|
828
|
+
header_params['content-type'] = 'application/json'
|
|
829
|
+
header_params[:'opc-client-request-id'] = opts[:'opc_client_request_id'] if opts[:'opc_client_request_id']
|
|
830
|
+
|
|
831
|
+
post_body = nil
|
|
832
|
+
|
|
833
|
+
return @api_client.call_api(
|
|
834
|
+
:GET,
|
|
835
|
+
path,
|
|
836
|
+
endpoint,
|
|
837
|
+
:header_params => header_params,
|
|
838
|
+
:query_params => query_params,
|
|
839
|
+
:body => post_body,
|
|
840
|
+
:return_type => 'Array<OCI::ObjectStorage::Models::MultipartUploadPartSummary>')
|
|
841
|
+
end
|
|
842
|
+
|
|
843
|
+
# Lists all in-progress multipart uploads for the given bucket in the given namespace.
|
|
844
|
+
#
|
|
845
|
+
# @param [String] namespace_name The top-level namespace used for the request.
|
|
846
|
+
# @param [String] bucket_name The name of the bucket.
|
|
847
|
+
#
|
|
848
|
+
# Example: `my-new-bucket1`
|
|
849
|
+
#
|
|
850
|
+
# @param [Hash] opts the optional parameters
|
|
851
|
+
# @option opts [Integer] :limit The maximum number of items to return.
|
|
852
|
+
# @option opts [String] :page The page at which to start retrieving results.
|
|
853
|
+
# @option opts [String] :opc_client_request_id The client request ID for tracing.
|
|
854
|
+
# @return [Response] A Response object with data of type Array<OCI::ObjectStorage::Models::MultipartUpload>
|
|
855
|
+
def list_multipart_uploads(namespace_name, bucket_name, opts = {})
|
|
856
|
+
logger.debug "Calling operation ObjectStorageClient#list_multipart_uploads." if logger
|
|
857
|
+
|
|
858
|
+
fail "Missing the required parameter 'namespace_name' when calling list_multipart_uploads." if namespace_name.nil?
|
|
859
|
+
fail "Missing the required parameter 'bucket_name' when calling list_multipart_uploads." if bucket_name.nil?
|
|
860
|
+
|
|
861
|
+
path = "/n/{namespaceName}/b/{bucketName}/u".sub('{namespaceName}', namespace_name.to_s).sub('{bucketName}', bucket_name.to_s)
|
|
862
|
+
|
|
863
|
+
# Query Params
|
|
864
|
+
query_params = {}
|
|
865
|
+
query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
|
|
866
|
+
query_params[:'page'] = opts[:'page'] if opts[:'page']
|
|
867
|
+
|
|
868
|
+
# Header Params
|
|
869
|
+
header_params = {}
|
|
870
|
+
header_params['accept'] = 'application/json'
|
|
871
|
+
header_params['content-type'] = 'application/json'
|
|
872
|
+
header_params[:'opc-client-request-id'] = opts[:'opc_client_request_id'] if opts[:'opc_client_request_id']
|
|
873
|
+
|
|
874
|
+
post_body = nil
|
|
875
|
+
|
|
876
|
+
return @api_client.call_api(
|
|
877
|
+
:GET,
|
|
878
|
+
path,
|
|
879
|
+
endpoint,
|
|
880
|
+
:header_params => header_params,
|
|
881
|
+
:query_params => query_params,
|
|
882
|
+
:body => post_body,
|
|
883
|
+
:return_type => 'Array<OCI::ObjectStorage::Models::MultipartUpload>')
|
|
884
|
+
end
|
|
885
|
+
|
|
886
|
+
# Lists the objects in a bucket.
|
|
887
|
+
#
|
|
888
|
+
# To use this and other API operations, you must be authorized in an IAM policy. If you're not authorized,
|
|
889
|
+
# talk to an administrator. If you're an administrator who needs to write policies to give users access, see
|
|
890
|
+
# [Getting Started with Policies](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/policygetstarted.htm).
|
|
891
|
+
#
|
|
892
|
+
# @param [String] namespace_name The top-level namespace used for the request.
|
|
893
|
+
# @param [String] bucket_name The name of the bucket.
|
|
894
|
+
#
|
|
895
|
+
# Example: `my-new-bucket1`
|
|
896
|
+
#
|
|
897
|
+
# @param [Hash] opts the optional parameters
|
|
898
|
+
# @option opts [String] :prefix The string to use for matching against the start of object names in a list query.
|
|
899
|
+
# @option opts [String] :start Object names returned by a list query must be greater or equal to this parameter.
|
|
900
|
+
# @option opts [String] :_end Object names returned by a list query must be strictly less than this parameter.
|
|
901
|
+
# @option opts [Integer] :limit The maximum number of items to return.
|
|
902
|
+
# @option opts [String] :delimiter When this parameter is set, only objects whose names do not contain the delimiter character
|
|
903
|
+
# (after an optionally specified prefix) are returned. Scanned objects whose names contain the
|
|
904
|
+
# delimiter have part of their name up to the last occurrence of the delimiter (after the optional
|
|
905
|
+
# prefix) returned as a set of prefixes. Note that only '/' is a supported delimiter character at
|
|
906
|
+
# this time.
|
|
907
|
+
#
|
|
908
|
+
# @option opts [String] :fields Object summary in list of objects includes the 'name' field. This parameter can also include 'size'
|
|
909
|
+
# (object size in bytes), 'md5', and 'timeCreated' (object creation date and time) fields.
|
|
910
|
+
# Value of this parameter should be a comma-separated, case-insensitive list of those field names.
|
|
911
|
+
# For example 'name,timeCreated,md5'.
|
|
912
|
+
#
|
|
913
|
+
# @option opts [String] :opc_client_request_id The client request ID for tracing.
|
|
914
|
+
# @return [Response] A Response object with data of type OCI::ObjectStorage::Models::ListObjects
|
|
915
|
+
def list_objects(namespace_name, bucket_name, opts = {})
|
|
916
|
+
logger.debug "Calling operation ObjectStorageClient#list_objects." if logger
|
|
917
|
+
|
|
918
|
+
fail "Missing the required parameter 'namespace_name' when calling list_objects." if namespace_name.nil?
|
|
919
|
+
fail "Missing the required parameter 'bucket_name' when calling list_objects." if bucket_name.nil?
|
|
920
|
+
|
|
921
|
+
if opts[:'fields'] && !['name', 'size', 'timeCreated', 'md5'].include?(opts[:'fields'])
|
|
922
|
+
fail 'Invalid value for "fields", must be one of name, size, timeCreated, md5.'
|
|
923
|
+
end
|
|
924
|
+
|
|
925
|
+
path = "/n/{namespaceName}/b/{bucketName}/o".sub('{namespaceName}', namespace_name.to_s).sub('{bucketName}', bucket_name.to_s)
|
|
926
|
+
|
|
927
|
+
# Query Params
|
|
928
|
+
query_params = {}
|
|
929
|
+
query_params[:'prefix'] = opts[:'prefix'] if opts[:'prefix']
|
|
930
|
+
query_params[:'start'] = opts[:'start'] if opts[:'start']
|
|
931
|
+
query_params[:'end'] = opts[:'_end'] if opts[:'_end']
|
|
932
|
+
query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
|
|
933
|
+
query_params[:'delimiter'] = opts[:'delimiter'] if opts[:'delimiter']
|
|
934
|
+
query_params[:'fields'] = opts[:'fields'] if opts[:'fields']
|
|
935
|
+
|
|
936
|
+
# Header Params
|
|
937
|
+
header_params = {}
|
|
938
|
+
header_params['accept'] = 'application/json'
|
|
939
|
+
header_params['content-type'] = 'application/json'
|
|
940
|
+
header_params[:'opc-client-request-id'] = opts[:'opc_client_request_id'] if opts[:'opc_client_request_id']
|
|
941
|
+
|
|
942
|
+
post_body = nil
|
|
943
|
+
|
|
944
|
+
return @api_client.call_api(
|
|
945
|
+
:GET,
|
|
946
|
+
path,
|
|
947
|
+
endpoint,
|
|
948
|
+
:header_params => header_params,
|
|
949
|
+
:query_params => query_params,
|
|
950
|
+
:body => post_body,
|
|
951
|
+
:return_type => 'OCI::ObjectStorage::Models::ListObjects')
|
|
952
|
+
end
|
|
953
|
+
|
|
954
|
+
# List pre-authenticated requests for the bucket
|
|
955
|
+
#
|
|
956
|
+
# @param [String] namespace_name The top-level namespace used for the request.
|
|
957
|
+
# @param [String] bucket_name The name of the bucket.
|
|
958
|
+
#
|
|
959
|
+
# Example: `my-new-bucket1`
|
|
960
|
+
#
|
|
961
|
+
# @param [Hash] opts the optional parameters
|
|
962
|
+
# @option opts [String] :object_name_prefix Pre-authenticated requests returned by the list must have object names starting with prefix
|
|
963
|
+
# @option opts [Integer] :limit The maximum number of items to return.
|
|
964
|
+
# @option opts [String] :page The page at which to start retrieving results.
|
|
965
|
+
# @option opts [String] :opc_client_request_id The client request ID for tracing.
|
|
966
|
+
# @return [Response] A Response object with data of type Array<OCI::ObjectStorage::Models::PreauthenticatedRequestSummary>
|
|
967
|
+
def list_preauthenticated_requests(namespace_name, bucket_name, opts = {})
|
|
968
|
+
logger.debug "Calling operation ObjectStorageClient#list_preauthenticated_requests." if logger
|
|
969
|
+
|
|
970
|
+
fail "Missing the required parameter 'namespace_name' when calling list_preauthenticated_requests." if namespace_name.nil?
|
|
971
|
+
fail "Missing the required parameter 'bucket_name' when calling list_preauthenticated_requests." if bucket_name.nil?
|
|
972
|
+
|
|
973
|
+
path = "/n/{namespaceName}/b/{bucketName}/p/".sub('{namespaceName}', namespace_name.to_s).sub('{bucketName}', bucket_name.to_s)
|
|
974
|
+
|
|
975
|
+
# Query Params
|
|
976
|
+
query_params = {}
|
|
977
|
+
query_params[:'objectNamePrefix'] = opts[:'object_name_prefix'] if opts[:'object_name_prefix']
|
|
978
|
+
query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
|
|
979
|
+
query_params[:'page'] = opts[:'page'] if opts[:'page']
|
|
980
|
+
|
|
981
|
+
# Header Params
|
|
982
|
+
header_params = {}
|
|
983
|
+
header_params['accept'] = 'application/json'
|
|
984
|
+
header_params['content-type'] = 'application/json'
|
|
985
|
+
header_params[:'opc-client-request-id'] = opts[:'opc_client_request_id'] if opts[:'opc_client_request_id']
|
|
986
|
+
|
|
987
|
+
post_body = nil
|
|
988
|
+
|
|
989
|
+
return @api_client.call_api(
|
|
990
|
+
:GET,
|
|
991
|
+
path,
|
|
992
|
+
endpoint,
|
|
993
|
+
:header_params => header_params,
|
|
994
|
+
:query_params => query_params,
|
|
995
|
+
:body => post_body,
|
|
996
|
+
:return_type => 'Array<OCI::ObjectStorage::Models::PreauthenticatedRequestSummary>')
|
|
997
|
+
end
|
|
998
|
+
|
|
999
|
+
# Creates a new object or overwrites an existing one.
|
|
1000
|
+
#
|
|
1001
|
+
# To use this and other API operations, you must be authorized in an IAM policy. If you're not authorized,
|
|
1002
|
+
# talk to an administrator. If you're an administrator who needs to write policies to give users access, see
|
|
1003
|
+
# [Getting Started with Policies](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/policygetstarted.htm).
|
|
1004
|
+
#
|
|
1005
|
+
# @param [String] namespace_name The top-level namespace used for the request.
|
|
1006
|
+
# @param [String] bucket_name The name of the bucket.
|
|
1007
|
+
#
|
|
1008
|
+
# Example: `my-new-bucket1`
|
|
1009
|
+
#
|
|
1010
|
+
# @param [String] object_name The name of the object.
|
|
1011
|
+
#
|
|
1012
|
+
# Example: `test/object1.log`
|
|
1013
|
+
#
|
|
1014
|
+
# @param [String, IO] put_object_body The object to upload to the object store.
|
|
1015
|
+
# @param [Hash] opts the optional parameters
|
|
1016
|
+
# @option opts [Integer] :content_length The content length of the body.
|
|
1017
|
+
# @option opts [String] :if_match The entity tag to match. For creating and committing a multipart upload to an object, this is the entity tag of the target object.
|
|
1018
|
+
# For uploading a part, this is the entity tag of the target part.
|
|
1019
|
+
#
|
|
1020
|
+
# @option opts [String] :if_none_match The entity tag to avoid matching. The only valid value is \u2018*\u2019, which indicates that the request should fail if the object already exists.
|
|
1021
|
+
# For creating and committing a multipart upload, this is the entity tag of the target object. For uploading a part, this is the entity tag
|
|
1022
|
+
# of the target part.
|
|
1023
|
+
#
|
|
1024
|
+
# @option opts [String] :opc_client_request_id The client request ID for tracing.
|
|
1025
|
+
# @option opts [String] :expect 100-continue (default to 100-continue)
|
|
1026
|
+
# @option opts [String] :content_md5 The base-64 encoded MD5 hash of the body.
|
|
1027
|
+
# @option opts [String] :content_type The content type of the object. Defaults to 'application/octet-stream' if not overridden during the PutObject call.
|
|
1028
|
+
# @option opts [String] :content_language The content language of the object.
|
|
1029
|
+
# @option opts [String] :content_encoding The content encoding of the object.
|
|
1030
|
+
# @option opts [dict(str, str)] :opc_meta Optional user-defined metadata key and value.
|
|
1031
|
+
# @return [Response] A Response object with data of type nil
|
|
1032
|
+
def put_object(namespace_name, bucket_name, object_name, put_object_body, opts = {})
|
|
1033
|
+
logger.debug "Calling operation ObjectStorageClient#put_object." if logger
|
|
1034
|
+
|
|
1035
|
+
fail "Missing the required parameter 'namespace_name' when calling put_object." if namespace_name.nil?
|
|
1036
|
+
fail "Missing the required parameter 'bucket_name' when calling put_object." if bucket_name.nil?
|
|
1037
|
+
fail "Missing the required parameter 'object_name' when calling put_object." if object_name.nil?
|
|
1038
|
+
fail "Missing the required parameter 'put_object_body' when calling put_object." if put_object_body.nil?
|
|
1039
|
+
|
|
1040
|
+
path = "/n/{namespaceName}/b/{bucketName}/o/{objectName}".sub('{namespaceName}', namespace_name.to_s).sub('{bucketName}', bucket_name.to_s).sub('{objectName}', object_name.to_s)
|
|
1041
|
+
|
|
1042
|
+
# Query Params
|
|
1043
|
+
query_params = {}
|
|
1044
|
+
|
|
1045
|
+
# Header Params
|
|
1046
|
+
header_params = {}
|
|
1047
|
+
header_params['accept'] = 'application/json'
|
|
1048
|
+
header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
|
|
1049
|
+
header_params[:'if-none-match'] = opts[:'if_none_match'] if opts[:'if_none_match']
|
|
1050
|
+
header_params[:'opc-client-request-id'] = opts[:'opc_client_request_id'] if opts[:'opc_client_request_id']
|
|
1051
|
+
header_params[:'Expect'] = opts[:'expect'] if opts[:'expect']
|
|
1052
|
+
header_params[:'Content-Length'] = opts[:'content_length'] if opts[:'content_length']
|
|
1053
|
+
header_params[:'Content-MD5'] = opts[:'content_md5'] if opts[:'content_md5']
|
|
1054
|
+
header_params[:'Content-Type'] = opts[:'content_type'] if opts[:'content_type']
|
|
1055
|
+
header_params[:'Content-Language'] = opts[:'content_language'] if opts[:'content_language']
|
|
1056
|
+
header_params[:'Content-Encoding'] = opts[:'content_encoding'] if opts[:'content_encoding']
|
|
1057
|
+
|
|
1058
|
+
if opts[:opc_meta]
|
|
1059
|
+
opts[:opc_meta].each do |key, value|
|
|
1060
|
+
header_params["opc-meta-#{key}".to_sym] = value
|
|
1061
|
+
end
|
|
1062
|
+
end
|
|
1063
|
+
|
|
1064
|
+
post_body = @api_client.object_to_http_body(put_object_body)
|
|
1065
|
+
|
|
1066
|
+
return @api_client.call_api(
|
|
1067
|
+
:PUT,
|
|
1068
|
+
path,
|
|
1069
|
+
endpoint,
|
|
1070
|
+
:header_params => header_params,
|
|
1071
|
+
:query_params => query_params,
|
|
1072
|
+
:body => post_body)
|
|
1073
|
+
end
|
|
1074
|
+
|
|
1075
|
+
# Performs a partial or full update of a bucket's user-defined metadata.
|
|
1076
|
+
#
|
|
1077
|
+
# @param [String] namespace_name The top-level namespace used for the request.
|
|
1078
|
+
# @param [String] bucket_name The name of the bucket.
|
|
1079
|
+
#
|
|
1080
|
+
# Example: `my-new-bucket1`
|
|
1081
|
+
#
|
|
1082
|
+
# @param [UpdateBucketDetails] update_bucket_details Request object for updating a bucket.
|
|
1083
|
+
# @param [Hash] opts the optional parameters
|
|
1084
|
+
# @option opts [String] :if_match The entity tag to match. For creating and committing a multipart upload to an object, this is the entity tag of the target object.
|
|
1085
|
+
# For uploading a part, this is the entity tag of the target part.
|
|
1086
|
+
#
|
|
1087
|
+
# @option opts [String] :opc_client_request_id The client request ID for tracing.
|
|
1088
|
+
# @return [Response] A Response object with data of type OCI::ObjectStorage::Models::Bucket
|
|
1089
|
+
def update_bucket(namespace_name, bucket_name, update_bucket_details, opts = {})
|
|
1090
|
+
logger.debug "Calling operation ObjectStorageClient#update_bucket." if logger
|
|
1091
|
+
|
|
1092
|
+
fail "Missing the required parameter 'namespace_name' when calling update_bucket." if namespace_name.nil?
|
|
1093
|
+
fail "Missing the required parameter 'bucket_name' when calling update_bucket." if bucket_name.nil?
|
|
1094
|
+
fail "Missing the required parameter 'update_bucket_details' when calling update_bucket." if update_bucket_details.nil?
|
|
1095
|
+
|
|
1096
|
+
path = "/n/{namespaceName}/b/{bucketName}/".sub('{namespaceName}', namespace_name.to_s).sub('{bucketName}', bucket_name.to_s)
|
|
1097
|
+
|
|
1098
|
+
# Query Params
|
|
1099
|
+
query_params = {}
|
|
1100
|
+
|
|
1101
|
+
# Header Params
|
|
1102
|
+
header_params = {}
|
|
1103
|
+
header_params['accept'] = 'application/json'
|
|
1104
|
+
header_params['content-type'] = 'application/json'
|
|
1105
|
+
header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
|
|
1106
|
+
header_params[:'opc-client-request-id'] = opts[:'opc_client_request_id'] if opts[:'opc_client_request_id']
|
|
1107
|
+
|
|
1108
|
+
post_body = @api_client.object_to_http_body(update_bucket_details)
|
|
1109
|
+
|
|
1110
|
+
return @api_client.call_api(
|
|
1111
|
+
:POST,
|
|
1112
|
+
path,
|
|
1113
|
+
endpoint,
|
|
1114
|
+
:header_params => header_params,
|
|
1115
|
+
:query_params => query_params,
|
|
1116
|
+
:body => post_body,
|
|
1117
|
+
:return_type => 'OCI::ObjectStorage::Models::Bucket')
|
|
1118
|
+
end
|
|
1119
|
+
|
|
1120
|
+
# Uploads a single part of a multipart upload.
|
|
1121
|
+
#
|
|
1122
|
+
# @param [String] namespace_name The top-level namespace used for the request.
|
|
1123
|
+
# @param [String] bucket_name The name of the bucket.
|
|
1124
|
+
#
|
|
1125
|
+
# Example: `my-new-bucket1`
|
|
1126
|
+
#
|
|
1127
|
+
# @param [String] object_name The name of the object.
|
|
1128
|
+
#
|
|
1129
|
+
# Example: `test/object1.log`
|
|
1130
|
+
#
|
|
1131
|
+
# @param [String] upload_id The upload ID for a multipart upload.
|
|
1132
|
+
# @param [Integer] upload_part_num The part number that identifies the object part currently being uploaded.
|
|
1133
|
+
# @param [String, IO] upload_part_body The part being uploaded to the Object Storage Service.
|
|
1134
|
+
# @param [Hash] opts the optional parameters
|
|
1135
|
+
# @option opts [Integer] :content_length The content length of the body.
|
|
1136
|
+
# @option opts [String] :opc_client_request_id The client request ID for tracing.
|
|
1137
|
+
# @option opts [String] :if_match The entity tag to match. For creating and committing a multipart upload to an object, this is the entity tag of the target object.
|
|
1138
|
+
# For uploading a part, this is the entity tag of the target part.
|
|
1139
|
+
#
|
|
1140
|
+
# @option opts [String] :if_none_match The entity tag to avoid matching. The only valid value is \u2018*\u2019, which indicates that the request should fail if the object already exists.
|
|
1141
|
+
# For creating and committing a multipart upload, this is the entity tag of the target object. For uploading a part, this is the entity tag
|
|
1142
|
+
# of the target part.
|
|
1143
|
+
#
|
|
1144
|
+
# @option opts [String] :expect 100-continue (default to 100-continue)
|
|
1145
|
+
# @option opts [String] :content_md5 The base-64 encoded MD5 hash of the body.
|
|
1146
|
+
# @return [Response] A Response object with data of type nil
|
|
1147
|
+
def upload_part(namespace_name, bucket_name, object_name, upload_id, upload_part_num, upload_part_body, opts = {})
|
|
1148
|
+
logger.debug "Calling operation ObjectStorageClient#upload_part." if logger
|
|
1149
|
+
|
|
1150
|
+
fail "Missing the required parameter 'namespace_name' when calling upload_part." if namespace_name.nil?
|
|
1151
|
+
fail "Missing the required parameter 'bucket_name' when calling upload_part." if bucket_name.nil?
|
|
1152
|
+
fail "Missing the required parameter 'object_name' when calling upload_part." if object_name.nil?
|
|
1153
|
+
fail "Missing the required parameter 'upload_id' when calling upload_part." if upload_id.nil?
|
|
1154
|
+
fail "Missing the required parameter 'upload_part_num' when calling upload_part." if upload_part_num.nil?
|
|
1155
|
+
fail "Missing the required parameter 'upload_part_body' when calling upload_part." if upload_part_body.nil?
|
|
1156
|
+
|
|
1157
|
+
path = "/n/{namespaceName}/b/{bucketName}/u/{objectName}".sub('{namespaceName}', namespace_name.to_s).sub('{bucketName}', bucket_name.to_s).sub('{objectName}', object_name.to_s)
|
|
1158
|
+
|
|
1159
|
+
# Query Params
|
|
1160
|
+
query_params = {}
|
|
1161
|
+
query_params[:'uploadId'] = upload_id
|
|
1162
|
+
query_params[:'uploadPartNum'] = upload_part_num
|
|
1163
|
+
|
|
1164
|
+
# Header Params
|
|
1165
|
+
header_params = {}
|
|
1166
|
+
header_params['accept'] = 'application/json'
|
|
1167
|
+
header_params[:'opc-client-request-id'] = opts[:'opc_client_request_id'] if opts[:'opc_client_request_id']
|
|
1168
|
+
header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
|
|
1169
|
+
header_params[:'if-none-match'] = opts[:'if_none_match'] if opts[:'if_none_match']
|
|
1170
|
+
header_params[:'Expect'] = opts[:'expect'] if opts[:'expect']
|
|
1171
|
+
header_params[:'Content-Length'] = opts[:'content_length'] if opts[:'content_length']
|
|
1172
|
+
header_params[:'Content-MD5'] = opts[:'content_md5'] if opts[:'content_md5']
|
|
1173
|
+
|
|
1174
|
+
post_body = @api_client.object_to_http_body(upload_part_body)
|
|
1175
|
+
|
|
1176
|
+
return @api_client.call_api(
|
|
1177
|
+
:PUT,
|
|
1178
|
+
path,
|
|
1179
|
+
endpoint,
|
|
1180
|
+
:header_params => header_params,
|
|
1181
|
+
:query_params => query_params,
|
|
1182
|
+
:body => post_body)
|
|
1183
|
+
end
|
|
1184
|
+
end
|
|
1185
|
+
end
|