To use this function add it to the class library file named PluginAWSService.ts
GitHub Repository: https://github.com/SimonSparksUK/Orchestrator
Filename: PluginAWSService.ts
Public Function: FindAllForType
public FindAllForType<T>(strObjectType: "AWSAccount" | "AWSClient" | "AWSRegion" | "EC2AcceleratorManufacturer" | "EC2AcceleratorName" | "EC2AcceleratorType" | "EC2AccountAttributeName" | "EC2ActivityStatus" | "EC2Address" | "EC2AddressAttributeName" | "EC2AddressFamily" | "EC2Affinity" | "EC2AllocationState" | "EC2AllocationStrategy" | "EC2AllowsMultipleInstanceTypes" | "EC2AnalysisStatus" | "EC2ApplianceModeSupportValue" | "EC2ArchitectureType" | "EC2ArchitectureValues" | "EC2AssociatedNetworkType" | "EC2AssociationStatusCode" | "EC2AttachmentStatus" | "EC2AutoAcceptSharedAssociationsValue" | "EC2AutoAcceptSharedAttachmentsValue" | "EC2AutoPlacement" | "EC2AvailabilityZone" | "EC2AvailabilityZoneOptInStatus" | "EC2AvailabilityZoneState" | "EC2BareMetal" | "EC2BatchState" | "EC2BgpStatus" | "EC2BootModeType" | "EC2BootModeValues" | "EC2BundleTaskState" | "EC2BurstablePerformance" | "EC2ByoipCidrState" | "EC2CancelBatchErrorCode" | "EC2CancelSpotInstanceRequestState" | "EC2CapacityReservationFleetState" | "EC2CapacityReservationInstancePlatform" | "EC2CapacityReservationPreference" | "EC2CapacityReservationState" | "EC2CapacityReservationTenancy" | "EC2CarrierGatewayState" | "EC2ClientCertificateRevocationListStatusCode" | "EC2ClientVpnAuthenticationType" | "EC2ClientVpnAuthorizationRuleStatusCode" | "EC2ClientVpnConnectionStatusCode" | "EC2ClientVpnEndpointAttributeStatusCode" | "EC2ClientVpnEndpointStatusCode" | "EC2ClientVpnRouteStatusCode" | "EC2ConnectionNotificationState" | "EC2ConnectionNotificationType" | "EC2ConnectivityType" | "EC2ContainerFormat" | "EC2ConversionTaskState" | "EC2CopyTagsFromSource" | "EC2CpuManufacturer" | "EC2CurrencyCodeValues" | "EC2CustomerGateway" | "EC2DatafeedSubscriptionState" | "EC2DefaultRouteTableAssociationValue" | "EC2DefaultRouteTablePropagationValue" | "EC2DefaultTargetCapacityType" | "EC2DeleteFleetErrorCode" | "EC2DeleteQueuedReservedInstancesErrorCode" | "EC2DestinationFileFormat" | "EC2DeviceType" | "EC2DiskImageFormat" | "EC2DiskType" | "EC2DnsNameState" | "EC2DnsSupportValue" | "EC2DomainType" | "EC2EbsEncryptionSupport" | "EC2EbsNvmeSupport" | "EC2EbsOptimizedSupport" | "EC2ElasticGpuState" | "EC2ElasticGpuStatus" | "EC2EnaSupport" | "EC2EndDateType" | "EC2EphemeralNvmeSupport" | "EC2EventCode" | "EC2EventType" | "EC2ExcessCapacityTerminationPolicy" | "EC2ExportEnvironment" | "EC2ExportTaskState" | "EC2FastLaunchResourceType" | "EC2FastLaunchStateCode" | "EC2FastSnapshotRestoreStateCode" | "EC2FindingsFound" | "EC2FleetActivityStatus" | "EC2FleetCapacityReservationTenancy" | "EC2FleetCapacityReservationUsageStrategy" | "EC2FleetEventType" | "EC2FleetExcessCapacityTerminationPolicy" | "EC2FleetInstanceMatchCriteria" | "EC2FleetOnDemandAllocationStrategy" | "EC2FleetReplacementStrategy" | "EC2FleetStateCode" | "EC2FleetType" | "EC2FlowLogsResourceType" | "EC2FpgaImageAttributeName" | "EC2FpgaImageStateCode" | "EC2GatewayAssociationState" | "EC2GatewayType" | "EC2HostnameType" | "EC2HostRecovery" | "EC2HostTenancy" | "EC2HttpTokensState" | "EC2HypervisorType" | "EC2IamInstanceProfileAssociationState" | "EC2Igmpv2SupportValue" | "EC2Image" | "EC2ImageAttributeName" | "EC2ImageState" | "EC2ImageTypeValues" | "EC2Instance" | "EC2InstanceAttributeName" | "EC2InstanceAutoRecoveryState" | "EC2InstanceEventWindowState" | "EC2InstanceGeneration" | "EC2InstanceHealthStatus" | "EC2InstanceInterruptionBehavior" | "EC2InstanceLifecycle" | "EC2InstanceLifecycleType" | "EC2InstanceMatchCriteria" | "EC2InstanceMetadataEndpointState" | "EC2InstanceMetadataOptionsState" | "EC2InstanceMetadataProtocolState" | "EC2InstanceMetadataTagsState" | "EC2InstanceStateName" | "EC2InstanceStorageEncryptionSupport" | "EC2InstanceType" | "EC2InstanceTypeHypervisor" | "EC2InterfacePermissionType" | "EC2InterfaceProtocolType" | "EC2InternetGateway" | "EC2IpamAddressHistoryResourceType" | "EC2IpamComplianceStatus" | "EC2IpamManagementState" | "EC2IpamOverlapStatus" | "EC2IpamPoolAllocationResourceType" | "EC2IpamPoolAwsService" | "EC2IpamPoolCidrFailureCode" | "EC2IpamPoolCidrState" | "EC2IpamPoolState" | "EC2IpamResourceType" | "EC2IpamScopeState" | "EC2IpamScopeType" | "EC2IpamState" | "EC2Ipv6SupportValue" | "EC2KeyFormat" | "EC2KeyPair" | "EC2KeyType" | "EC2LaunchTemplateAutoRecoveryState" | "EC2LaunchTemplateErrorCode" | "EC2LaunchTemplateHttpTokensState" | "EC2LaunchTemplateInstanceMetadataEndpointState" | "EC2LaunchTemplateInstanceMetadataOptionsState" | "EC2LaunchTemplateInstanceMetadataProtocolIpv6" | "EC2LaunchTemplateInstanceMetadataTagsState" | "EC2ListingState" | "EC2ListingStatus" | "EC2LocalGatewayRouteState" | "EC2LocalGatewayRouteType" | "EC2LocalStorage" | "EC2LocalStorageType" | "EC2LocationType" | "EC2LogDestinationType" | "EC2MarketType" | "EC2MembershipType" | "EC2ModifyAvailabilityZoneOptInStatus" | "EC2MonitoringState" | "EC2MoveStatus" | "EC2MulticastSupportValue" | "EC2NatGatewayState" | "EC2NetworkAcl" | "EC2NetworkInterface" | "EC2NetworkInterfaceAttribute" | "EC2NetworkInterfaceCreationType" | "EC2NetworkInterfacePermissionStateCode" | "EC2NetworkInterfaceStatus" | "EC2NetworkInterfaceType" | "EC2OfferingClassType" | "EC2OfferingTypeValues" | "EC2OnDemandAllocationStrategy" | "EC2OperationType" | "EC2PartitionLoadFrequency" | "EC2PayerResponsibility" | "EC2PaymentOption" | "EC2PermissionGroup" | "EC2PlacementGroupState" | "EC2PlacementGroupStrategy" | "EC2PlacementStrategy" | "EC2PlatformValues" | "EC2PrefixListState" | "EC2PrincipalType" | "EC2ProductCodeValues" | "EC2Protocol" | "EC2ProtocolValue" | "EC2RecurringChargeFrequency" | "EC2ReplacementStrategy" | "EC2ReplaceRootVolumeTaskState" | "EC2ReportInstanceReasonCodes" | "EC2ReportStatusType" | "EC2ReservationState" | "EC2ReservedInstanceState" | "EC2ResetFpgaImageAttributeName" | "EC2ResetImageAttributeName" | "EC2ResourceType" | "EC2RIProductDescription" | "EC2RootDeviceType" | "EC2RouteOrigin" | "EC2RouteState" | "EC2RouteTable" | "EC2RouteTableAssociationStateCode" | "EC2RuleAction" | "EC2Scope" | "EC2SecurityGroup" | "EC2SelfServicePortal" | "EC2ServiceState" | "EC2ServiceType" | "EC2ShutdownBehavior" | "EC2Snapshot" | "EC2SnapshotAttributeName" | "EC2SnapshotState" | "EC2SpotAllocationStrategy" | "EC2SpotInstanceInterruptionBehavior" | "EC2SpotInstanceState" | "EC2SpotInstanceType" | "EC2State" | "EC2StaticSourcesSupportValue" | "EC2Status" | "EC2StatusName" | "EC2StatusType" | "EC2StorageTier" | "EC2Subnet" | "EC2SubnetCidrBlockStateCode" | "EC2SubnetCidrReservationType" | "EC2SubnetState" | "EC2SummaryStatus" | "EC2TargetCapacityUnitType" | "EC2TargetStorageTier" | "EC2TelemetryStatus" | "EC2Tenancy" | "EC2TieringOperationStatus" | "EC2TrafficDirection" | "EC2TrafficMirrorFilterRuleField" | "EC2TrafficMirrorNetworkService" | "EC2TrafficMirrorRuleAction" | "EC2TrafficMirrorSessionField" | "EC2TrafficMirrorTargetType" | "EC2TrafficType" | "EC2TransitGatewayAssociationState" | "EC2TransitGatewayAttachmentResourceType" | "EC2TransitGatewayAttachmentState" | "EC2TransitGatewayConnectPeerState" | "EC2TransitGatewayMulitcastDomainAssociationState" | "EC2TransitGatewayMulticastDomainState" | "EC2TransitGatewayPrefixListReferenceState" | "EC2TransitGatewayPropagationState" | "EC2TransitGatewayRouteState" | "EC2TransitGatewayRouteTableState" | "EC2TransitGatewayRouteType" | "EC2TransitGatewayState" | "EC2TransportProtocol" | "EC2TunnelInsideIpVersion" | "EC2UnlimitedSupportedInstanceFamily" | "EC2UnsuccessfulInstanceCreditSpecificationErrorCode" | "EC2UsageClassType" | "EC2VirtualizationType" | "EC2Volume" | "EC2VolumeAttachmentState" | "EC2VolumeAttributeName" | "EC2VolumeModificationState" | "EC2VolumeState" | "EC2VolumeStatusInfoStatus" | "EC2VolumeStatusName" | "EC2VolumeType" | "EC2Vpc" | "EC2VpcAttributeName" | "EC2VpcCidrBlockStateCode" | "EC2VpcEndpointType" | "EC2VpcPeeringConnectionStateReasonCode" | "EC2VpcState" | "EC2VpcTenancy" | "EC2VpnConnection" | "EC2VpnEcmpSupportValue" | "EC2VpnGateway" | "EC2VpnProtocol" | "EC2VpnState" | "EC2VpnStaticRouteSource" | "EC2WeekDay" | "virtualFolder_Addresses" | "virtualFolder_AvailabilityZones" | "virtualFolder_CustomerGateways" | "virtualFolder_EC2" | "virtualFolder_Instances" | "virtualFolder_InternetGateways" | "virtualFolder_KeyPairs" | "virtualFolder_NetworkACLs" | "virtualFolder_NetworkInterfaces" | "virtualFolder_RouteTables" | "virtualFolder_SecurityGroups" | "virtualFolder_Snapshots" | "virtualFolder_Subnets" | "virtualFolder_Volumes" | "virtualFolder_VPCs" | "virtualFolder_VPNConnections" | "virtualFolder_VPNGateways", strXPathQuery?: string): T[] {
let strObjectTypePrefix: string = "AWS";
let strObjectTypeName: string = `${strObjectTypePrefix}:${strObjectType}`;
let arrObjectType: T[] = this.serverFindAllForType<T>(strObjectTypeName, strXPathQuery);
return arrObjectType;
}TypeScriptDiscover more from Cloud Build Tools
Subscribe to get the latest posts sent to your email.
