Skip to content

Commit 4b2cf70

Browse files
committed
Updated Object Cmdlet
1 parent ad5544c commit 4b2cf70

1 file changed

Lines changed: 43 additions & 5 deletions

File tree

src/StorageGRID-Webscale.psm1

Lines changed: 43 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12850,6 +12850,17 @@ function Global:Update-SgwNtpServers {
1285012850
)
1285112851

1285212852
Begin {
12853+
if (!$ProfileName -and !$Server -and !$CurrentSgwServer.Name) {
12854+
$ProfileName = "default"
12855+
}
12856+
if ($ProfileName) {
12857+
$Profile = Get-SgwProfile -ProfileName $ProfileName
12858+
if (!$Profile.Name) {
12859+
Throw "Profile $ProfileName not found. Create a profile using New-SgwProfile or connect to a StorageGRID Server using Connect-SgwServer"
12860+
}
12861+
$Server = Connect-SgwServer -Name $Profile.Name -Credential $Profile.Credential -AccountId $Profile.AccountId -SkipCertificateCheck:$Profile.SkipCertificateCheck -DisableAutomaticAccessKeyGeneration:$Profile.disalble_automatic_access_key_generation -TemporaryAccessKeyExpirationTime $Profile.temporary_access_key_expiration_time -S3EndpointUrl $Profile.S3EndpointUrl -SwiftEndpointUrl $Profile.SwiftEndpointUrl -Transient
12862+
}
12863+
1285312864
if (!$Server) {
1285412865
$Server = $Global:CurrentSgwServer
1285512866
}
@@ -12885,12 +12896,25 @@ function Global:Update-SgwNtpServers {
1288512896

1288612897
## objects ##
1288712898

12899+
# complete as of API 2.2
1288812900

1288912901
<#
1289012902
.SYNOPSIS
1289112903
Retrieves metadata for an object
1289212904
.DESCRIPTION
1289312905
Retrieves metadata for an object
12906+
.PARAMETER Server
12907+
StorageGRID Webscale Management Server object. If not specified, global CurrentSgwServer object will be used.
12908+
.PARAMETER ProfileName
12909+
StorageGRID Profile to use for connection.
12910+
.PARAMETER ObjectId
12911+
Protocol-specific object identifier: my-bucket/my-object-key, my-container/my-object-name, UUID (all uppercase), CBID (all uppercase) (e.g. S3 bucket/key or Swift container/object).
12912+
.PARAMETER Container
12913+
S3 Bucket or Swift Container name.
12914+
.PARAMETER Object
12915+
S3 Object Key or Swift Object Name.
12916+
.PARAMETER MaxSegments
12917+
Maximum number of segements to return.
1289412918
#>
1289512919
function Global:Get-SgwObjectMetadata {
1289612920
[CmdletBinding(DefaultParameterSetName="objectid")]
@@ -12899,30 +12923,44 @@ function Global:Get-SgwObjectMetadata {
1289912923
[parameter(Mandatory = $False,
1290012924
Position = 0,
1290112925
HelpMessage = "StorageGRID Webscale Management Server object. If not specified, global CurrentSgwServer object will be used.")][PSCustomObject]$Server,
12926+
[parameter(Mandatory = $False,
12927+
Position = 1,
12928+
HelpMessage = "StorageGRID Profile to use for connection.")][Alias("Profile")][String]$ProfileName,
1290212929
[parameter(Mandatory = $True,
1290312930
ParameterSetName="objectid",
12904-
Position = 1,
12931+
Position = 2,
1290512932
ValueFromPipeline = $True,
1290612933
ValueFromPipelineByPropertyName = $True,
12907-
HelpMessage = "Object ID (e.g. S3 bucket/key or Swift container/object).")][String]$ObjectId,
12934+
HelpMessage = "Protocol-specific object identifier: my-bucket/my-object-key, my-container/my-object-name, UUID (all uppercase), CBID (all uppercase) (e.g. S3 bucket/key or Swift container/object).")][String]$ObjectId,
1290812935
[parameter(Mandatory = $True,
1290912936
ParameterSetName="ContainerAndKey",
12910-
Position = 1,
12937+
Position = 2,
1291112938
ValueFromPipeline = $True,
1291212939
ValueFromPipelineByPropertyName = $True,
1291312940
HelpMessage = "S3 Bucket or Swift Container name.")][Alias("Bucket","BucketName","ContainerName")][String]$Container,
1291412941
[parameter(Mandatory = $True,
1291512942
ParameterSetName="ContainerAndKey",
12916-
Position = 2,
12943+
Position = 3,
1291712944
ValueFromPipeline = $True,
1291812945
ValueFromPipelineByPropertyName = $True,
1291912946
HelpMessage = "S3 Object Key or Swift Object Name.")][Alias("Key","Name")][String]$Object,
1292012947
[parameter(Mandatory = $False,
12921-
Position = 3,
12948+
Position = 4,
1292212949
HelpMessage = "Maximum number of segements to return.")][Int]$MaxSegments
1292312950
)
1292412951

1292512952
Begin {
12953+
if (!$ProfileName -and !$Server -and !$CurrentSgwServer.Name) {
12954+
$ProfileName = "default"
12955+
}
12956+
if ($ProfileName) {
12957+
$Profile = Get-SgwProfile -ProfileName $ProfileName
12958+
if (!$Profile.Name) {
12959+
Throw "Profile $ProfileName not found. Create a profile using New-SgwProfile or connect to a StorageGRID Server using Connect-SgwServer"
12960+
}
12961+
$Server = Connect-SgwServer -Name $Profile.Name -Credential $Profile.Credential -AccountId $Profile.AccountId -SkipCertificateCheck:$Profile.SkipCertificateCheck -DisableAutomaticAccessKeyGeneration:$Profile.disalble_automatic_access_key_generation -TemporaryAccessKeyExpirationTime $Profile.temporary_access_key_expiration_time -S3EndpointUrl $Profile.S3EndpointUrl -SwiftEndpointUrl $Profile.SwiftEndpointUrl -Transient
12962+
}
12963+
1292612964
if (!$Server) {
1292712965
$Server = $Global:CurrentSgwServer
1292812966
}

0 commit comments

Comments
 (0)